Files
qt4-x11/debian/patches/kubuntu_93_disable_overlay_scrollbars.diff
2025-08-24 20:55:26 +08:00

60 lines
2.8 KiB
Diff

From b3460f7aa01262374c014092b618407de5cb0390 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20G=C3=A2teau?= <aurelien.gateau@canonical.com>
Date: Wed, 28 Sep 2011 16:19:18 +0200
Subject: [PATCH] Use ubuntu_gtk_disable_overlay_scrollbar() to get rid of
overlay scrollbars
Forwarded: no
This is more robust than using the LIBOVERLAY_SCROLLBAR environment variable
as some programs (vlc) do not let us set variables.
---
src/gui/styles/qgtkstyle_p.cpp | 4 ++++
src/gui/styles/qgtkstyle_p.h | 2 ++
2 files changed, 6 insertions(+)
--- a/src/gui/styles/qgtkstyle_p.cpp
+++ b/src/gui/styles/qgtkstyle_p.cpp
@@ -84,6 +84,7 @@
Ptr_gtk_container_forall QGtkStylePrivate::gtk_container_forall = 0;
Ptr_gtk_init QGtkStylePrivate::gtk_init = 0;
+Ptr_ubuntu_gtk_set_use_overlay_scrollbar QGtkStylePrivate::ubuntu_gtk_set_use_overlay_scrollbar = 0;
Ptr_gtk_style_attach QGtkStylePrivate::gtk_style_attach = 0;
Ptr_gtk_window_new QGtkStylePrivate::gtk_window_new = 0;
Ptr_gtk_widget_destroy QGtkStylePrivate::gtk_widget_destroy = 0;
@@ -316,6 +317,7 @@
libgtk.setLoadHints(QLibrary::ImprovedSearchHeuristics);
gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
+ ubuntu_gtk_set_use_overlay_scrollbar = (Ptr_ubuntu_gtk_set_use_overlay_scrollbar)libgtk.resolve("ubuntu_gtk_set_use_overlay_scrollbar");
gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
gtk_style_attach = (Ptr_gtk_style_attach)libgtk.resolve("gtk_style_attach");
gtk_widget_destroy = (Ptr_gtk_widget_destroy)libgtk.resolve("gtk_widget_destroy");
@@ -520,6 +522,8 @@
x11ErrorHandler qt_x_errhandler = XSetErrorHandler(0);
QGtkStylePrivate::gtk_init (NULL, NULL);
XSetErrorHandler(qt_x_errhandler);
+ if (QGtkStylePrivate::ubuntu_gtk_set_use_overlay_scrollbar)
+ QGtkStylePrivate::ubuntu_gtk_set_use_overlay_scrollbar(false);
// make a window
GtkWidget* gtkWindow = QGtkStylePrivate::gtk_window_new(GTK_WINDOW_POPUP);
--- a/src/gui/styles/qgtkstyle_p.h
+++ b/src/gui/styles/qgtkstyle_p.h
@@ -137,6 +137,7 @@
typedef bool (*Ptr_gconf_client_get_bool)(GConfClient*, const char*, GError **);
typedef void (*Ptr_gtk_init)(int *, char ***);
+typedef void (*Ptr_ubuntu_gtk_set_use_overlay_scrollbar) (gboolean);
typedef GtkWidget* (*Ptr_gtk_window_new) (GtkWindowType);
typedef GtkStyle* (*Ptr_gtk_style_attach)(GtkStyle *, GdkWindow *);
typedef void (*Ptr_gtk_widget_destroy) (GtkWidget *);
@@ -358,6 +359,7 @@
static Ptr_gtk_container_forall gtk_container_forall;
static Ptr_gtk_init gtk_init;
+ static Ptr_ubuntu_gtk_set_use_overlay_scrollbar ubuntu_gtk_set_use_overlay_scrollbar;
static Ptr_gtk_style_attach gtk_style_attach;
static Ptr_gtk_window_new gtk_window_new;
static Ptr_gtk_widget_destroy gtk_widget_destroy;