Hello to everyone!

This bug seems to be the same as this -> Bug 372560[1] - Glib error when 
disposing a Combo from here -> 
http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=19969099fb0b8b88c03bc7dc1b553ccf865db827

I applied the patch, rebuild the libswt-gtk-3 package and it seems to be 
working. No more crashes after opening the "Preferences" dialog or the 
"Find/Close" dialog (using the qtcurve gtk2 theme).

If someone wants to try, in this link 
->https://drive.google.com/file/d/0BwQL0pCeC6uzU0ZQWXU2d0hoWjQ/view?usp=sharing 
 you have the db files for amd64



--------
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=372560
--- a/org/eclipse/swt/widgets/Combo.java
+++ b/org/eclipse/swt/widgets/Combo.java
@@ -541,6 +541,7 @@
 			long /*int*/ widget = OS.g_list_data (list);
 			if (OS.GTK_IS_BUTTON (widget)) {
 				buttonHandle = widget;
+				OS.g_object_ref (buttonHandle);
 				break;
 			}
 			list = OS.g_list_next (list);
@@ -555,13 +556,15 @@
 	if (display.allChildren != 0) {
 	    long /*int*/ list = display.allChildren;
 		while (list != 0) {
-		long /*int*/ widget = OS.g_list_data (list);
-		if (OS.G_OBJECT_TYPE (widget) == OS.GTK_TYPE_MENU ()) {
-			menuHandle = widget;
-			break;
+			long /*int*/ widget = OS.g_list_data (list);
+			if (OS.G_OBJECT_TYPE (widget) == OS.GTK_TYPE_MENU ()) {
+				menuHandle = widget;
+				OS.g_object_ref (menuHandle);
+				break;
+			}
+			list = OS.g_list_next (list);
 		}
-		list = OS.g_list_next (list);
-	}
+
 	    OS.g_list_free (display.allChildren);
 	    display.allChildren = 0;
 	}
@@ -1486,7 +1489,13 @@
 
 void releaseHandle () {
 	super.releaseHandle ();
-	buttonHandle = entryHandle = 0;
+	if (menuHandle != 0) {
+	OS.g_object_unref (menuHandle);
+	}
+	if (buttonHandle != 0) {
+	OS.g_object_unref (buttonHandle);
+	}
+	menuHandle = buttonHandle = entryHandle = 0;
 }
 
 void releaseWidget () {

Reply via email to