diff gtk3/dw.c @ 1793:2cfbfccbbafe

Added code to disable Ubuntu overlay scrollbars for widgets created with dw_scrollbar_new() on GTK3.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 13 Aug 2012 05:45:25 +0000
parents c5ea64e8b436
children 9304241b7b33
line wrap: on
line diff
--- a/gtk3/dw.c	Sun Aug 05 13:47:57 2012 +0000
+++ b/gtk3/dw.c	Mon Aug 13 05:45:25 2012 +0000
@@ -4074,6 +4074,11 @@
    return tmp;
 }
 
+#ifdef HAVE_OVERLAY_SCROLLBARS
+gboolean ubuntu_overlay_scrollbar_get_enabled(void);
+void ubuntu_overlay_scrollbar_set_enabled(gboolean enabled);
+#endif
+
 /*
  * Create a new scrollbar window (widget) to be packed.
  * Parameters:
@@ -4086,10 +4091,20 @@
    GtkWidget *tmp;
    GtkAdjustment *adjustment;
    int _locked_by_me = FALSE;
-
-   DW_MUTEX_LOCK;
+#ifdef HAVE_OVERLAY_SCROLLBARS
+   gboolean overlaysb;
+#endif
+
+   DW_MUTEX_LOCK;
+#ifdef HAVE_OVERLAY_SCROLLBARS
+   overlaysb = ubuntu_overlay_scrollbar_get_enabled();
+   ubuntu_overlay_scrollbar_set_enabled(FALSE);
+#endif
    adjustment = (GtkAdjustment *)gtk_adjustment_new(0, 0, 0, 1, 1, 1);
    tmp = gtk_scrollbar_new(vertical ? GTK_ORIENTATION_VERTICAL : GTK_ORIENTATION_HORIZONTAL, adjustment);
+#ifdef HAVE_OVERLAY_SCROLLBARS
+   ubuntu_overlay_scrollbar_set_enabled(overlaysb);
+#endif
    gtk_widget_set_can_focus(tmp, FALSE);
    gtk_widget_show(tmp);
    g_object_set_data(G_OBJECT(tmp), "_dw_adjustment", (gpointer)adjustment);