29 lines
838 B
Diff
29 lines
838 B
Diff
|
diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h
|
||
|
--- a/widget/gtk/nsWindow.h
|
||
|
+++ b/widget/gtk/nsWindow.h
|
||
|
@@ -287,6 +287,7 @@
|
||
|
// descendant windows
|
||
|
GtkWidget* GetMozContainerWidget();
|
||
|
GdkWindow* GetGdkWindow() { return mGdkWindow; }
|
||
|
+ GtkWidget* GetGtkWidget() { return mShell; }
|
||
|
bool IsDestroyed() { return mIsDestroyed; }
|
||
|
|
||
|
void DispatchDragEvent(mozilla::EventMessage aMsg,
|
||
|
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||
|
--- a/widget/gtk/nsWindow.cpp
|
||
|
+++ b/widget/gtk/nsWindow.cpp
|
||
|
@@ -7480,5 +7480,10 @@
|
||
|
}
|
||
|
}
|
||
|
|
||
|
- return (gFocusWindow == window);
|
||
|
-}
|
||
|
+ GtkWidget* widget = window->GetGtkWidget();
|
||
|
+ if (widget) {
|
||
|
+ return !(gtk_widget_get_state_flags(widget) & GTK_STATE_FLAG_BACKDROP);
|
||
|
+ }
|
||
|
+
|
||
|
+ return false;
|
||
|
+}
|
||
|
|