Skip to content

Commit 9fa692c

Browse files
committed
copy/paste: Make the clipboard contents persist after the process
ends. For example, this lets you copy some files, exit nemo, restart nemo, then paste. Older versions persisted for 30s after closing, which allowed this sort of behavior as a side effect. Fixes #2800.
1 parent b36082e commit 9fa692c

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

src/nemo-tree-sidebar.c

+9-5
Original file line numberDiff line numberDiff line change
@@ -958,6 +958,7 @@ static void
958958
copy_or_cut_files (FMTreeView *view,
959959
gboolean cut)
960960
{
961+
GtkClipboard *clipboard;
961962
char *status_string, *name;
962963
NemoClipboardInfo info;
963964
GtkTargetList *target_list;
@@ -975,11 +976,14 @@ copy_or_cut_files (FMTreeView *view,
975976
targets = gtk_target_table_new_from_list (target_list, &n_targets);
976977
gtk_target_list_unref (target_list);
977978

978-
gtk_clipboard_set_with_data (nemo_clipboard_get (GTK_WIDGET (view->details->tree_widget)),
979-
targets, n_targets,
980-
nemo_get_clipboard_callback, nemo_clear_clipboard_callback,
981-
NULL);
982-
gtk_target_table_free (targets, n_targets);
979+
clipboard = nemo_clipboard_get (GTK_WIDGET (view));
980+
981+
gtk_clipboard_set_with_data (clipboard,
982+
targets, n_targets,
983+
nemo_get_clipboard_callback, nemo_clear_clipboard_callback,
984+
NULL);
985+
gtk_clipboard_set_can_store (clipboard, NULL, 0);
986+
gtk_target_table_free (targets, n_targets);
983987

984988
nemo_clipboard_monitor_set_clipboard_info (nemo_clipboard_monitor_get (),
985989
&info);

src/nemo-view.c

+9-5
Original file line numberDiff line numberDiff line change
@@ -6742,6 +6742,7 @@ copy_or_cut_files (NemoView *view,
67426742
GList *clipboard_contents,
67436743
gboolean cut)
67446744
{
6745+
GtkClipboard *clipboard;
67456746
int count;
67466747
char *status_string, *name;
67476748
NemoClipboardInfo info;
@@ -6760,11 +6761,14 @@ copy_or_cut_files (NemoView *view,
67606761
targets = gtk_target_table_new_from_list (target_list, &n_targets);
67616762
gtk_target_list_unref (target_list);
67626763

6763-
gtk_clipboard_set_with_data (nemo_clipboard_get (GTK_WIDGET (view)),
6764-
targets, n_targets,
6765-
nemo_get_clipboard_callback, nemo_clear_clipboard_callback,
6766-
NULL);
6767-
gtk_target_table_free (targets, n_targets);
6764+
clipboard = nemo_clipboard_get (GTK_WIDGET (view));
6765+
6766+
gtk_clipboard_set_with_data (clipboard,
6767+
targets, n_targets,
6768+
nemo_get_clipboard_callback, nemo_clear_clipboard_callback,
6769+
NULL);
6770+
gtk_clipboard_set_can_store (clipboard, NULL, 0);
6771+
gtk_target_table_free (targets, n_targets);
67686772

67696773
nemo_clipboard_monitor_set_clipboard_info (nemo_clipboard_monitor_get (), &info);
67706774

0 commit comments

Comments
 (0)