diff gtk/dw.c @ 1794:97b1edb41d44

Added code to disable Ubuntu overlay scrollbars for widgets created with dw_scrollbar_new() on GTK2.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 13 Aug 2012 06:18:30 +0000
parents c5ea64e8b436
children 9304241b7b33
line wrap: on
line diff
--- a/gtk/dw.c	Mon Aug 13 05:45:25 2012 +0000
+++ b/gtk/dw.c	Mon Aug 13 06:18:30 2012 +0000
@@ -4752,6 +4752,11 @@
    return tmp;
 }
 
+#ifdef HAVE_OVERLAY_SCROLLBARS2
+gboolean ubuntu_gtk_get_use_overlay_scrollbar(void);
+void ubuntu_gtk_set_use_overlay_scrollbar(gboolean enabled);
+#endif
+
 /*
  * Create a new scrollbar window (widget) to be packed.
  * Parameters:
@@ -4764,13 +4769,23 @@
    GtkWidget *tmp;
    GtkAdjustment *adjustment;
    int _locked_by_me = FALSE;
-
-   DW_MUTEX_LOCK;
+#ifdef HAVE_OVERLAY_SCROLLBARS2
+   gboolean overlaysb;
+#endif
+
+   DW_MUTEX_LOCK;
+#ifdef HAVE_OVERLAY_SCROLLBARS2
+   overlaysb = ubuntu_gtk_get_use_overlay_scrollbar();
+   ubuntu_gtk_set_use_overlay_scrollbar(FALSE);
+#endif
    adjustment = (GtkAdjustment *)gtk_adjustment_new(0, 0, 0, 1, 1, 1);
    if(vertical)
       tmp = gtk_vscrollbar_new(adjustment);
    else
       tmp = gtk_hscrollbar_new(adjustment);
+#ifdef HAVE_OVERLAY_SCROLLBARS2
+   ubuntu_gtk_set_use_overlay_scrollbar(overlaysb);
+#endif
    GTK_WIDGET_UNSET_FLAGS(tmp, GTK_CAN_FOCUS);
    gtk_widget_show(tmp);
    gtk_object_set_data(GTK_OBJECT(tmp), "_dw_adjustment", (gpointer)adjustment);