Bug 1411013 - Load CSD config from nsLookAndFeel, r?jhorak draft
authorMartin Stransky <stransky@redhat.com>
Mon, 23 Oct 2017 21:28:47 +0200
changeset 687463 a7bd964f467440885bbf1f97635c0d802b78d947
parent 687454 3c03a541c70e61387053de2ef09150b0b71a7f7b
child 737672 4f960f2a2791112855826f5cdcf37bbb03a17885
push id86524
push userstransky@redhat.com
push dateFri, 27 Oct 2017 10:19:26 +0000
reviewersjhorak
bugs1411013
milestone58.0a1
Bug 1411013 - Load CSD config from nsLookAndFeel, r?jhorak Make CSD setup and titlebar drawing available when users enable it by preference and also it's available on running system. MozReview-Commit-ID: 4BLgzVWwX1R
widget/gtk/nsWindow.cpp
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -3752,16 +3752,25 @@ nsWindow::Create(nsIWidget* aParent,
             SetDefaultIcon();
             gtk_window_set_wmclass(GTK_WINDOW(mShell), "Toplevel",
                                    gdk_get_program_class());
 
             // each toplevel window gets its own window group
             GtkWindowGroup *group = gtk_window_group_new();
             gtk_window_group_add_window(group, GTK_WINDOW(mShell));
             g_object_unref(group);
+
+            if (GetCSDSupportLevel() != CSD_SUPPORT_NONE) {
+                int32_t isCSDAvailable = false;
+                nsresult rv = LookAndFeel::GetInt(LookAndFeel::eIntID_GTKCSDAvailable,
+                                                &isCSDAvailable);
+                if (NS_SUCCEEDED(rv)) {
+                   mIsCSDAvailable = isCSDAvailable;
+                }
+            }
         }
 
         // Create a container to hold child windows and child GtkWidgets.
         GtkWidget *container = moz_container_new();
         mContainer = MOZ_CONTAINER(container);
 
 #if (MOZ_WIDGET_GTK == 3)
         // "csd" style is set when widget is realized so we need to call