aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2017-05-28 15:56:31 +0200
committerRicardo Wurmus <rekado@elephly.net>2017-05-28 15:59:52 +0200
commit2ac2b17251be51778963e6ced0b83e461d175d01 (patch)
tree188d9b54c389a64740f6c845e7c4a8d795ef9033
parent802907e423121702d726636961065c7791a3b4d5 (diff)
downloadpatches-2ac2b17251be51778963e6ced0b83e461d175d01.tar
patches-2ac2b17251be51778963e6ced0b83e461d175d01.tar.gz
gnu: synfigstudio: Fix UI bug.
* gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch: New file. * gnu/local.mk (dist_patch_DATA): Add patch. * gnu/packages/animation.scm (synfigstudio)[source]: Apply patch.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/animation.scm4
-rw-r--r--gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch55
3 files changed, 59 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index eb12b62f83..9ef9f95533 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -993,6 +993,7 @@ dist_patch_DATA = \
%D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/swish-e-search.patch \
%D%/packages/patches/swish-e-format-security.patch \
+ %D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch.patch \
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
%D%/packages/patches/t1lib-CVE-2011-0764.patch \
%D%/packages/patches/t1lib-CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch \
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 0f37ea55d5..cbbfa6ed4a 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -143,7 +143,9 @@ for tweening, preventing the need to hand-draw each frame.")
(substitute* "src/synfigapp/pluginmanager.cpp"
(("xmlpp::Node\\* n =") "const xmlpp::Node* n =")
(("xmlpp::Node::NodeList") "xmlpp::Node::const_NodeList"))
- #t))))
+ #t))
+ (patches
+ (search-patches "synfigstudio-fix-ui-with-gtk3.patch"))))
(build-system gnu-build-system)
(inputs
`(("gtkmm" ,gtkmm)
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);