vinagre r152 - in trunk: . src



Author: jwendell
Date: Sun Jan 27 18:54:51 2008
New Revision: 152
URL: http://svn.gnome.org/viewvc/vinagre?rev=152&view=rev

Log:
2008-01-27  Jonh Wendell <jwendell gnome org>

	* src/vinagre-window.c,
	* src/vinagre-window-private.h: Fix a crash in delete_event,
	by disconnecting from the clipboard signal.


Modified:
   trunk/ChangeLog
   trunk/src/vinagre-window-private.h
   trunk/src/vinagre-window.c

Modified: trunk/src/vinagre-window-private.h
==============================================================================
--- trunk/src/vinagre-window-private.h	(original)
+++ trunk/src/vinagre-window-private.h	Sun Jan 27 18:54:51 2008
@@ -2,7 +2,7 @@
  * vinagre-window-private.h
  * This file is part of vinagre
  *
- * Copyright (C) 2007 - Jonh Wendell <wendell bani com br>
+ * Copyright (C) 2007,2008 - Jonh Wendell <wendell bani com br>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -66,6 +66,7 @@
   gboolean        fav_panel_visible;
 
   gulong	  signal_notebook;
+  gulong	  signal_clipboard;
   gint            machines_connected;
 };
 

Modified: trunk/src/vinagre-window.c
==============================================================================
--- trunk/src/vinagre-window.c	(original)
+++ trunk/src/vinagre-window.c	Sun Jan 27 18:54:51 2008
@@ -2,7 +2,7 @@
  * vinagre-window.c
  * This file is part of vinagre
  *
- * Copyright (C) 2007 - Jonh Wendell <wendell bani com br>
+ * Copyright (C) 2007,2008 - Jonh Wendell <wendell bani com br>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -73,11 +73,18 @@
 			     GdkEventAny *event)
 {
   VinagreWindow *window = VINAGRE_WINDOW (widget);
+  GtkClipboard  *cb;
+
+  cb = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
 
   if (window->priv->signal_notebook > 0)
     g_signal_handler_disconnect (window->priv->notebook,
 				 window->priv->signal_notebook);
 
+  if (window->priv->signal_clipboard > 0)
+    g_signal_handler_disconnect (cb,
+				 window->priv->signal_clipboard);
+
   vinagre_window_close_all_tabs (window);
   gtk_main_quit ();
 
@@ -836,7 +843,10 @@
   GtkClipboard *cb;
 
   cb = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
-  g_signal_connect (cb, "owner-change", G_CALLBACK (vinagre_window_clipboard_cb), window);
+  window->priv->signal_clipboard = g_signal_connect (cb,
+						     "owner-change",
+						     G_CALLBACK (vinagre_window_clipboard_cb),
+						     window);
 }
 
 static void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]