Bug 1344839 - Don't allow transparent top-level windows on GTK. r?karlt draft
authorMike Conley <mconley@mozilla.com>
Tue, 21 Mar 2017 22:15:36 -0400
changeset 555163 a3ce9317db8413a8249fa27a9a94de9a8b54f1d7
parent 554958 aaa0cd3bd620daf6be29c72625f6e63fd0bc1d46
child 555164 38f45db1850fa74c559fdcdb4fe0a75f64b3c8cb
child 555180 7db95637eb8c79fc0b817a4c6b768b42475214b4
push id52179
push usermconley@mozilla.com
push dateMon, 03 Apr 2017 18:54:03 +0000
reviewerskarlt
bugs1344839
milestone55.0a1
Bug 1344839 - Don't allow transparent top-level windows on GTK. r?karlt MozReview-Commit-ID: 9UP1UYcaF2F
widget/gtk/nsWindow.cpp
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -4298,16 +4298,22 @@ nsWindow::SetTransparencyMode(nsTranspar
 
         nsWindow *topWindow = get_window_for_gtk_widget(topWidget);
         if (!topWindow)
             return;
 
         topWindow->SetTransparencyMode(aMode);
         return;
     }
+
+    if (mWindowType != eWindowType_popup) {
+        NS_WARNING("Cannot set transparency mode on non-popup windows.");
+        return;
+    }
+
     bool isTransparent = aMode == eTransparencyTransparent;
 
     if (mIsTransparent == isTransparent)
         return;
 
     if (!isTransparent) {
         ClearTransparencyBitmap();
     } // else the new default alpha values are "all 1", so we don't