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.