summary refs log tree commit diff
path: root/gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch')
-rw-r--r--gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch b/gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch
new file mode 100644
index 0000000000..d7b3e92507
--- /dev/null
+++ b/gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch
@@ -0,0 +1,55 @@
+Downloaded from
+https://github.com/synfig/synfig/commit/b9c3b73ee35b83c4d9183c800809040cef98b2f2.patch
+
+Without this patch the UI of Synfig Studio (when built with the latest version
+of GTK) displays very large buttons in the header of every frame.
+
+This patch can be removed with the next release.
+
+
+From b9c3b73ee35b83c4d9183c800809040cef98b2f2 Mon Sep 17 00:00:00 2001
+From: caryoscelus <caryoscelus@gmx.com>
+Date: Wed, 25 Jan 2017 18:34:39 +0300
+Subject: [PATCH] Fix dock drop area size
+
+Fixes #227
+
+By using Frame instead of Button we avoid intrusive Gtk themes
+from forcing huge drop area size.
+---
+ synfig-studio/src/gui/docks/dockdroparea.cpp | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/src/gui/docks/dockdroparea.cpp b/synfig-studio/src/gui/docks/dockdroparea.cpp
+index 0f8936fdb..e012282f0 100644
+--- a/src/gui/docks/dockdroparea.cpp
++++ b/src/gui/docks/dockdroparea.cpp
+@@ -35,7 +35,7 @@
+ #include "app.h"
+ #include "docks/dockdroparea.h"
+ #include "docks/dockmanager.h"
+-#include <gtkmm/button.h>
++#include <gtkmm/frame.h>
+ 
+ #endif
+ 
+@@ -61,10 +61,15 @@ DockDropArea::DockDropArea(Gtk::Widget *target):
+ 	std::vector<Gtk::TargetEntry> listTargets;
+ 	listTargets.push_back( Gtk::TargetEntry("SYNFIG_DOCK") );
+ 
+-	Gtk::Button *button_left   = manage(new Gtk::Button());
+-	Gtk::Button *button_right  = manage(new Gtk::Button());
+-	Gtk::Button *button_top    = manage(new Gtk::Button());
+-	Gtk::Button *button_bottom = manage(new Gtk::Button());
++	Gtk::Frame *button_left   = manage(new Gtk::Frame());
++	Gtk::Frame *button_right  = manage(new Gtk::Frame());
++	Gtk::Frame *button_top    = manage(new Gtk::Frame());
++	Gtk::Frame *button_bottom = manage(new Gtk::Frame());
++
++	button_left->set_size_request(20, 10);
++	button_right->set_size_request(20, 10);
++	button_top->set_size_request(20, 10);
++	button_bottom->set_size_request(20, 10);
+ 
+ 	button_left->drag_dest_set(listTargets);
+ 	button_right->drag_dest_set(listTargets);