summaryrefslogtreecommitdiff
path: root/mozilla-1073117-entry-button-size.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mozilla-1073117-entry-button-size.patch')
-rw-r--r--mozilla-1073117-entry-button-size.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/mozilla-1073117-entry-button-size.patch b/mozilla-1073117-entry-button-size.patch
new file mode 100644
index 0000000..24c0ac2
--- /dev/null
+++ b/mozilla-1073117-entry-button-size.patch
@@ -0,0 +1,65 @@
+# HG changeset patch
+# Parent 70de2960aa877d7755ee6f66bf2d4c4c46bfed2c
+# User Martin Stransky <stransky@redhat.com>
+Bug 1073117 - Theme issues with GTK 3.14 - fix gtk button and entry size, r=?karlt
+Theme borders has been removed in Gtk 3.14 so we can't use them to calculate button size.
+Should computed as border + padding. Also update nsNativeThemeGTK::GetWidgetPadding() for that.
+
+diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c
+--- a/widget/gtk/gtk3drawing.c
++++ b/widget/gtk/gtk3drawing.c
+@@ -2686,25 +2686,23 @@ moz_gtk_get_widget_border(GtkThemeWidget
+ {
+ GtkBorder inner_border;
+ gboolean interior_focus;
+ gint focus_width, focus_pad;
+
+ ensure_button_widget();
+ *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gButtonWidget));
+
++ style = gtk_widget_get_style_context(gButtonWidget);
++ moz_gtk_add_style_border(style, left, top, right, bottom);
++
+ /* Don't add this padding in HTML, otherwise the buttons will
+ become too big and stuff the layout. */
+ if (!inhtml) {
+- moz_gtk_widget_get_focus(gButtonWidget, &interior_focus, &focus_width, &focus_pad);
+- moz_gtk_button_get_inner_border(gButtonWidget, &inner_border);
+- *left += focus_width + focus_pad + inner_border.left;
+- *right += focus_width + focus_pad + inner_border.right;
+- *top += focus_width + focus_pad + inner_border.top;
+- *bottom += focus_width + focus_pad + inner_border.bottom;
++ moz_gtk_add_style_padding(style, left, top, right, bottom);
+ }
+
+ moz_gtk_add_style_border(gtk_widget_get_style_context(gButtonWidget),
+ left, top, right, bottom);
+ return MOZ_GTK_SUCCESS;
+ }
+ case MOZ_GTK_ENTRY:
+ {
+diff --git a/widget/gtk/nsNativeThemeGTK.cpp b/widget/gtk/nsNativeThemeGTK.cpp
+--- a/widget/gtk/nsNativeThemeGTK.cpp
++++ b/widget/gtk/nsNativeThemeGTK.cpp
+@@ -992,16 +992,21 @@ nsNativeThemeGTK::GetWidgetPadding(nsDev
+ switch (aWidgetType) {
+ case NS_THEME_BUTTON_FOCUS:
+ case NS_THEME_TOOLBAR_BUTTON:
+ case NS_THEME_TOOLBAR_DUAL_BUTTON:
+ case NS_THEME_TAB_SCROLLARROW_BACK:
+ case NS_THEME_TAB_SCROLLARROW_FORWARD:
+ case NS_THEME_DROPDOWN_BUTTON:
+ case NS_THEME_TOOLBAR_BUTTON_DROPDOWN:
++ case NS_THEME_FOCUS_OUTLINE:
++ case NS_THEME_NUMBER_INPUT:
++ case NS_THEME_TEXTFIELD:
++ case NS_THEME_TEXTFIELD_MULTILINE:
++ case NS_THEME_BUTTON:
+ case NS_THEME_BUTTON_ARROW_UP:
+ case NS_THEME_BUTTON_ARROW_DOWN:
+ case NS_THEME_BUTTON_ARROW_NEXT:
+ case NS_THEME_BUTTON_ARROW_PREVIOUS:
+ case NS_THEME_RANGE_THUMB:
+ // Radios and checkboxes return a fixed size in GetMinimumWidgetSize
+ // and have a meaningful baseline, so they can't have
+ // author-specified padding.
bgstack15