mirror of
https://github.com/beard7n/bsdports.git
synced 2026-04-13 03:51:18 +02:00
42 lines
1.5 KiB
Plaintext
42 lines
1.5 KiB
Plaintext
commit 64bb4e051b50
|
|
Author: Martin Stransky <stransky@redhat.com>
|
|
Date: Tue Oct 17 09:50:18 2017 +0200
|
|
|
|
Bug 1186967 - ignore double-click on WM without _NET_WM_MOVERESIZE support, r=jhorak
|
|
|
|
MozReview-Commit-ID: 2Vs6i5leero
|
|
|
|
--HG--
|
|
extra : rebase_source : d8f2bbaf9ef9b2025478f029a68ee7e87e07de79
|
|
---
|
|
widget/gtk/nsWindow.cpp | 16 ++++++++++++++++
|
|
1 file changed, 16 insertions(+)
|
|
|
|
diff --git widget/gtk/nsWindow.cpp widget/gtk/nsWindow.cpp
|
|
index eb2f0e5e95cd..955327297ac9 100644
|
|
--- widget/gtk/nsWindow.cpp
|
|
+++ widget/gtk/nsWindow.cpp
|
|
@@ -6444,6 +6444,22 @@ nsWindow::GetDragInfo(WidgetMouseEvent* aMouseEvent,
|
|
return false;
|
|
}
|
|
|
|
+ if (mIsX11Display) {
|
|
+ // Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=789054
|
|
+ // To avoid crashes disable double-click on WM without _NET_WM_MOVERESIZE.
|
|
+ // See _should_perform_ewmh_drag() at gdkwindow-x11.c
|
|
+ GdkScreen* screen = gdk_window_get_screen(gdk_window);
|
|
+ GdkAtom atom = gdk_atom_intern("_NET_WM_MOVERESIZE", FALSE);
|
|
+ if (!gdk_x11_screen_supports_net_wm_hint(screen, atom)) {
|
|
+ static unsigned int lastTimeStamp = 0;
|
|
+ if (lastTimeStamp != aMouseEvent->mTime) {
|
|
+ lastTimeStamp = aMouseEvent->mTime;
|
|
+ } else {
|
|
+ return false;
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+
|
|
// FIXME: It would be nice to have the widget position at the time
|
|
// of the event, but it's relatively unlikely that the widget has
|
|
// moved since the mousedown. (On the other hand, it's quite likely
|