# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1344838710 0 # Node ID 97b1edb41d4404ee8ae65360e1474a94bd41fd75 # Parent 2cfbfccbbafe3e55413bcfe13593703a82492d70 Added code to disable Ubuntu overlay scrollbars for widgets created with dw_scrollbar_new() on GTK2. diff -r 2cfbfccbbafe -r 97b1edb41d44 config.h.in --- a/config.h.in Mon Aug 13 05:45:25 2012 +0000 +++ b/config.h.in Mon Aug 13 06:18:30 2012 +0000 @@ -60,3 +60,6 @@ /* Define if we have Ubuntu overlay scrollbars */ #undef HAVE_OVERLAY_SCROLLBARS +/* Define if we have Ubuntu overlay scrollbars (GTK2) */ +#undef HAVE_OVERLAY_SCROLLBARS2 + diff -r 2cfbfccbbafe -r 97b1edb41d44 configure --- a/configure Mon Aug 13 05:45:25 2012 +0000 +++ b/configure Mon Aug 13 06:18:30 2012 +0000 @@ -5856,6 +5856,19 @@ fi done +for ac_func in ubuntu_gtk_set_use_overlay_scrollbar +do : + ac_fn_c_check_func "$LINENO" "ubuntu_gtk_set_use_overlay_scrollbar" "ac_cv_func_ubuntu_gtk_set_use_overlay_scrollbar" +if test "x$ac_cv_func_ubuntu_gtk_set_use_overlay_scrollbar" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_UBUNTU_GTK_SET_USE_OVERLAY_SCROLLBAR 1 +_ACEOF + +$as_echo "#define HAVE_OVERLAY_SCROLLBARS2 1" >>confdefs.h + +fi +done + RM="rm -f" LN="ln -s" diff -r 2cfbfccbbafe -r 97b1edb41d44 configure.in --- a/configure.in Mon Aug 13 05:45:25 2012 +0000 +++ b/configure.in Mon Aug 13 06:18:30 2012 +0000 @@ -323,6 +323,7 @@ LIBS="$RPATH $LIBS $GTK_LIBS $PTHREAD_LIBS $GDK_IMLIB_LIBS $MOZEMBED_LIBS $PLATLIBS" AC_CHECK_FUNCS(ubuntu_overlay_scrollbar_set_enabled, AC_DEFINE(HAVE_OVERLAY_SCROLLBARS,1,Define if we have Ubuntu overlay scrollbars)) +AC_CHECK_FUNCS(ubuntu_gtk_set_use_overlay_scrollbar, AC_DEFINE(HAVE_OVERLAY_SCROLLBARS2,1,Define if we have Ubuntu overlay scrollbars)) RM="rm -f" LN="ln -s" diff -r 2cfbfccbbafe -r 97b1edb41d44 gtk/dw.c --- 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);