From 80969d29a182a8ba1b46b7cb63688a19c80793b7 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 15 Nov 2013 13:35:01 +0000 Subject: [PATCH] Don't eat mouse wheel events if we can't handle them in wxGTK. The recent changes to mouse wheel scrolling broke it for the generic wxListCtrl and probably any other situation in which scrollbars don't scroll the window itself but some subwindow of it. In this case, the scroll wheel event handler doesn't have any scrollbar to adjust, so it simply does nothing and shouldn't return true, as it did since r74911. Just return false in case we are not doing anything to let the mouse wheel work as before. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75193 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 4 ++++ src/gtk/window.cpp | 3 +++ 2 files changed, 7 insertions(+) diff --git a/docs/changes.txt b/docs/changes.txt index 81ef7b5700..1f282ab117 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -578,6 +578,10 @@ All (GUI): - Fix crash when setting invalid label ending with "&" (ZaneUJi). +wxGTK: + +- Fix mouse wheel scrolling in wxListCtrl broken just before 3.0.0. + 3.0.0: (released 2013-11-11) ---------------------------- diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 8f41635cf2..a16743410f 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -1723,6 +1723,9 @@ scroll_event(GtkWidget* widget, GdkEventScroll* gdk_event, wxWindow* win) if (!win->GTKProcessEvent(event)) { + if (!range) + return false; + if (direction == GDK_SCROLL_UP || direction == GDK_SCROLL_LEFT) step = -step; AdjustRangeValue(range, step);