linux-packaging-mono/external/bockbuild/packages/patches/gtk/0031-Hackish-fix-for-bug-8493-Min-size-of-GtkScrolledWind.patch
Xamarin Public Jenkins (auto-signing) 6bdd276d05 Imported Upstream version 5.0.0.42
Former-commit-id: fd56571888259555122d8a0f58c68838229cea2b
2017-04-10 11:41:01 +00:00

69 lines
2.1 KiB
Diff

From fd8e0fe0f9c630a56d415604c3c80dce5cd24648 Mon Sep 17 00:00:00 2001
From: Michael Natterer <mitch@gimp.org>
Date: Tue, 15 Jan 2013 14:56:29 +0100
Subject: [PATCH 31/68] Hackish fix for bug 8493 - Min size of
GtkScrolledWindow is too small
In gtk_scrollbar_size_allocate(), pretend the scrollbar
always has scroll arrows so the parent impl makes it a bit
larger.
---
gtk/gtkscrollbar.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/gtk/gtkscrollbar.c b/gtk/gtkscrollbar.c
index 634b337..bab062d 100644
--- a/gtk/gtkscrollbar.c
+++ b/gtk/gtkscrollbar.c
@@ -32,6 +32,8 @@
#include "gtkprivate.h"
#include "gtkalias.h"
+static void gtk_scrollbar_size_request (GtkWidget *widget,
+ GtkRequisition *requisition);
static void gtk_scrollbar_style_set (GtkWidget *widget,
GtkStyle *previous);
@@ -42,6 +44,7 @@ gtk_scrollbar_class_init (GtkScrollbarClass *class)
{
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
+ widget_class->size_request = gtk_scrollbar_size_request;
widget_class->style_set = gtk_scrollbar_style_set;
GTK_RANGE_CLASS (class)->stepper_detail = "Xscrollbar";
@@ -97,6 +100,31 @@ gtk_scrollbar_init (GtkScrollbar *scrollbar)
}
static void
+gtk_scrollbar_size_request (GtkWidget *widget,
+ GtkRequisition *requisition)
+{
+ GtkRange *range = GTK_RANGE (widget);
+ gboolean saved_a, saved_b, saved_c, saved_d;
+
+ saved_a = range->has_stepper_a;
+ saved_b = range->has_stepper_b;
+ saved_c = range->has_stepper_c;
+ saved_d = range->has_stepper_d;
+
+ range->has_stepper_a = TRUE;
+ range->has_stepper_b = FALSE;
+ range->has_stepper_c = FALSE;
+ range->has_stepper_d = TRUE;
+
+ GTK_WIDGET_CLASS (gtk_scrollbar_parent_class)->size_request (widget, requisition);
+
+ range->has_stepper_a = saved_a;
+ range->has_stepper_b = saved_b;
+ range->has_stepper_c = saved_c;
+ range->has_stepper_d = saved_d;
+}
+
+static void
gtk_scrollbar_style_set (GtkWidget *widget,
GtkStyle *previous)
{
--
1.7.10.2 (Apple Git-33)