Bug#860074: unblock: wxpython3.0/3.0.2.0+dfsg-4 wxwidgets3.0/3.0.2+dfsg-4
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Hello Release Team, a gtk bug has been reported to poedit users/developers,
and it turned out to be a wxwidgets3.0/wxpython3.0 issue (poedit
can't workaround it).
I uploaded a fix in Debian, both wxwidgets and wxpython (they share the same
codebase), and I'm requesting to unblock them.
upstream patch is here:
(the patch comes from poedit developers, and upstream accepted it, and backported
it to wx3.0 stable branch)
diff --git a/src/gtk/dataview.cpp b/src/gtk/dataview.cpp
index 87217e2..0be3273 100644
--- a/src/gtk/dataview.cpp
+++ b/src/gtk/dataview.cpp
@@ -135,9 +135,11 @@ class wxGtkTreePathList : public wxGtkList
// Implementation note: it could be expected that setting the selection
// function in this class ctor and resetting it back to the old value in its
-// dtor would work. However currently gtk_tree_selection_get_select_function()
-// can't be passed NULL (see https://bugzilla.gnome.org/show_bug.cgi?id=626276)
-// so we can't do this. Instead, we always use the selection function (which
+// dtor would work, However in GTK+2 gtk_tree_selection_get_select_function()
+// can't be passed NULL (see https://bugzilla.gnome.org/show_bug.cgi?id=626276
+// which was only fixed in 2.90.5-304-g316b9da) so we can't do this.
+//
+// Instead, we always use the selection function (which
// imposes extra overhead, albeit minimal one, on all selection operations) and
// just set/reset the flag telling it whether it should allow or forbid the
// selection.
@@ -168,7 +170,15 @@ class wxGtkTreeSelectionLock
ms_instance = this;
- CheckCurrentSelectionFunc(NULL);
+ if ( ms_firstTime )
+ {
+ ms_firstTime = false;
+ CheckCurrentSelectionFunc(NULL);
+ }
+ else
+ {
+ CheckCurrentSelectionFunc(wxdataview_selection_func);
+ }
// Pass some non-NULL pointer as "data" for the callback, it doesn't
// matter what it is as long as it's non-NULL.
@@ -215,6 +225,7 @@ class wxGtkTreeSelectionLock
}
static wxGtkTreeSelectionLock *ms_instance;
+ static bool ms_firstTime;
GtkTreeSelection * const m_selection;
@@ -222,6 +233,7 @@ class wxGtkTreeSelectionLock
};
wxGtkTreeSelectionLock *wxGtkTreeSelectionLock::ms_instance = NULL;
+bool wxGtkTreeSelectionLock::ms_firstTime = true;
//-----------------------------------------------------------------------------
// wxDataViewCtrlInternal
please let me know if you want a debdiff
https://anonscm.debian.org/cgit/freewx/wx.git/commit/?h=wxpy3.0-debian&id=14e985d712d6f68f86bae8e56eaa8cc82979ff02
https://anonscm.debian.org/cgit/freewx/wx.git/commit/?h=wx3.0-debian&id=782ede3b9c5e7c3af8c625f34a5ecfac6b650813
poedit having this issue is only in experimental for now (it seems to be affecting only poedit2),
but it should fix also such assertions on other wx-based tools.
thanks!
Gianfranco
Reply to: