SF.net SVN: geany:[3044] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Mon Oct 6 16:13:36 UTC 2008


Revision: 3044
          http://geany.svn.sourceforge.net/geany/?rev=3044&view=rev
Author:   ntrel
Date:     2008-10-06 16:13:35 +0000 (Mon, 06 Oct 2008)

Log Message:
-----------
Fix wrong editor scrollbar mouse cursor and broken middle-click
paste after splitting or unsplitting (fixes #2142186).
Note: this is a workaround for an issue with Scintilla where the
widget (or its parents) can't be removed or reparented to a
non-visible widget.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/plugins/splitwindow.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2008-10-06 15:48:42 UTC (rev 3043)
+++ trunk/ChangeLog	2008-10-06 16:13:35 UTC (rev 3044)
@@ -1,3 +1,13 @@
+2008-10-06  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * plugins/splitwindow.c:
+   Fix wrong editor scrollbar mouse cursor and broken middle-click
+   paste after splitting or unsplitting (fixes #2142186).
+   Note: this is a workaround for an issue with Scintilla where the
+   widget (or its parents) can't be removed or reparented to a
+   non-visible widget.
+
+
 2008-10-03  Frank Lanitz  <frank(at)frank(dot)uvena(dot)de>
 
  * data/latex.tags: Added some more keywords for moderncv to tag list.

Modified: trunk/plugins/splitwindow.c
===================================================================
--- trunk/plugins/splitwindow.c	2008-10-06 15:48:42 UTC (rev 3043)
+++ trunk/plugins/splitwindow.c	2008-10-06 16:13:35 UTC (rev 3044)
@@ -185,13 +185,14 @@
 	g_return_if_fail(doc);
 	g_return_if_fail(our_editor == NULL);
 
-	/* reparent document notebook */
-	g_object_ref(notebook);
-	gtk_container_remove(GTK_CONTAINER(parent), notebook);
+	/* temporarily put document notebook in main vbox (scintilla widgets must stay
+	 * in a visible parent window, otherwise there are X selection and scrollbar issues) */
+	gtk_widget_reparent(notebook,
+		p_support->lookup_widget(geany->main_widgets->window, "vbox1"));
+
 	pane = gtk_hpaned_new();
 	gtk_container_add(GTK_CONTAINER(parent), pane);
-	gtk_paned_add1(GTK_PANED(pane), notebook);
-	g_object_unref(notebook);
+	gtk_widget_reparent(notebook, pane);
 
 	our_editor = doc->editor;
 	sci = p_editor->create_widget(our_editor);
@@ -213,13 +214,14 @@
 
 	g_return_if_fail(our_editor);
 
-	/* reparent document notebook */
-	g_object_ref(notebook);
-	gtk_container_remove(GTK_CONTAINER(pane), notebook);
+	/* temporarily put document notebook in main vbox (scintilla widgets must stay
+	 * in a visible parent window, otherwise there are X selection and scrollbar issues) */
+	gtk_widget_reparent(notebook,
+		p_support->lookup_widget(geany->main_widgets->window, "vbox1"));
+
 	gtk_widget_destroy(pane);
 	our_editor = NULL;
-	gtk_container_add(GTK_CONTAINER(parent), notebook);
-	g_object_unref(notebook);
+	gtk_widget_reparent(notebook, parent);
 }
 
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list