Blob Blame History Raw
Index: src/gtk/dnd.cpp
===================================================================
--- src/gtk/dnd.cpp	(revision 65479)
+++ src/gtk/dnd.cpp	(revision 65480)
@@ -946,21 +946,27 @@
 
 void wxDropSource::UnregisterWindow()
 {
-    if (!m_widget)
-        return;
+    if (m_widget)
+    {
+        g_signal_handlers_disconnect_by_func (m_widget,
+                                              (gpointer) source_drag_data_get,
+                                              this);
+        g_signal_handlers_disconnect_by_func (m_widget,
+                                              (gpointer) source_drag_data_delete,
+                                              this);
+        g_signal_handlers_disconnect_by_func (m_widget,
+                                              (gpointer) source_drag_begin,
+                                              this);
+        g_signal_handlers_disconnect_by_func (m_widget,
+                                              (gpointer) source_drag_end,
+                                              this);
+    }
 
-    g_signal_handlers_disconnect_by_func (m_widget,
-                                          (gpointer) source_drag_data_get,
-                                          this);
-    g_signal_handlers_disconnect_by_func (m_widget,
-                                          (gpointer) source_drag_data_delete,
-                                          this);
-    g_signal_handlers_disconnect_by_func (m_widget,
-                                          (gpointer) source_drag_begin,
-                                          this);
-    g_signal_handlers_disconnect_by_func (m_widget,
-                                          (gpointer) source_drag_end,
-                                          this);
+    if (m_iconWindow)
+    {
+        g_signal_handlers_disconnect_by_func (m_iconWindow,
+                                              (gpointer) gtk_dnd_window_configure_callback, this);
+    }
 }
 
 #endif