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.
This commit is contained in:
Ricardo Wurmus 2017-05-28 15:56:31 +02:00
parent 802907e423
commit 2ac2b17251
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
3 changed files with 59 additions and 1 deletions

View File

@ -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 \

View File

@ -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)

View File

@ -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);