[gnome-terminal] window: Try again to find and fix a clipboard related crash
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-terminal] window: Try again to find and fix a clipboard related crash
- Date: Sun, 14 Feb 2016 16:35:47 +0000 (UTC)
commit d3c46ae4ed28a099bf2752b07dcadbea565313d1
Author: Christian Persch <chpe gnome org>
Date: Sun Feb 14 17:32:13 2016 +0100
window: Try again to find and fix a clipboard related crash
I don't see how this crash could happen, but it seems it has:
https://bugzilla.redhat.com/show_bug.cgi?id=1308280
src/terminal-window.c | 13 ++++++-------
1 files changed, 6 insertions(+), 7 deletions(-)
---
diff --git a/src/terminal-window.c b/src/terminal-window.c
index 4caa9e9..a890fd3 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -50,6 +50,8 @@ struct _TerminalWindowPrivate
{
char *uuid;
+ GtkClipboard *clipboard;
+
GtkActionGroup *action_group;
GtkUIManager *ui_manager;
guint ui_id;
@@ -2619,7 +2621,6 @@ terminal_window_init (TerminalWindow *window)
GError *error;
GtkWindowGroup *window_group;
GtkAccelGroup *accel_group;
- GtkClipboard *clipboard;
uuid_t u;
char uuidstr[37], role[64];
@@ -2717,9 +2718,9 @@ terminal_window_init (TerminalWindow *window)
gtk_ui_manager_insert_action_group (manager, action_group, 0);
g_object_unref (action_group);
- clipboard = gtk_widget_get_clipboard (GTK_WIDGET (window), GDK_SELECTION_CLIPBOARD);
- update_edit_menu (clipboard, NULL, window);
- g_signal_connect (clipboard, "owner-change",
+ priv->clipboard = gtk_widget_get_clipboard (GTK_WIDGET (window), GDK_SELECTION_CLIPBOARD);
+ update_edit_menu (priv->clipboard, NULL, window);
+ g_signal_connect (priv->clipboard, "owner-change",
G_CALLBACK (update_edit_menu), window);
/* Idem for this action, since the window is not fullscreen. */
@@ -2835,7 +2836,6 @@ terminal_window_dispose (GObject *object)
TerminalWindowPrivate *priv = window->priv;
TerminalApp *app;
TerminalSettingsList *profiles_list;
- GtkClipboard *clipboard;
GSList *list, *l;
priv->disposed = TRUE;
@@ -2879,8 +2879,7 @@ terminal_window_dispose (GObject *object)
G_CALLBACK (terminal_window_encoding_list_changed_cb),
window);
- clipboard = gtk_widget_get_clipboard (GTK_WIDGET (window), GDK_SELECTION_CLIPBOARD);
- g_signal_handlers_disconnect_by_func (clipboard,
+ g_signal_handlers_disconnect_by_func (priv->clipboard,
G_CALLBACK (update_edit_menu),
window);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]