From eb5340800b563d6b05aa5f11a2f24f2cc0d8c80e Mon Sep 17 00:00:00 2001 From: Jon Ciesla Date: Apr 08 2016 15:00:21 +0000 Subject: Fix FTBFS --- diff --git a/inkscape-0.91-drop-wait-for-targets.patch b/inkscape-0.91-drop-wait-for-targets.patch new file mode 100644 index 0000000..aefa0fd --- /dev/null +++ b/inkscape-0.91-drop-wait-for-targets.patch @@ -0,0 +1,64 @@ +=== modified file 'src/ui/clipboard.cpp' +--- src/ui/clipboard.cpp 2016-04-02 15:15:43 +0000 ++++ src/ui/clipboard.cpp 2016-04-07 16:30:32 +0000 +@@ -146,8 +146,6 @@ + void _setClipboardColor(guint32); + void _userWarn(SPDesktop *, char const *); + +- void _inkscape_wait_for_targets(std::list &); +- + // private properites + SPDocument *_clipboardSPDoc; ///< Document that stores the clipboard until someone requests it + Inkscape::XML::Node *_defs; ///< Reference to the clipboard document's defs node +@@ -1302,9 +1300,7 @@ + */ + Glib::ustring ClipboardManagerImpl::_getBestTarget() + { +- // GTKmm's wait_for_targets() is broken, see the comment in _inkscape_wait_for_targets() +- std::list targets; // = _clipboard->wait_for_targets(); +- _inkscape_wait_for_targets(targets); ++ std::list targets = _clipboard->wait_for_targets(); + + // clipboard target debugging snippet + /* +@@ -1456,39 +1452,6 @@ + desktop->messageStack()->flash(Inkscape::WARNING_MESSAGE, msg); + } + +- +-// GTKMM's clipboard::wait_for_targets is buggy and might return bogus, see +-// +-// https://bugs.launchpad.net/inkscape/+bug/296778 +-// http://mail.gnome.org/archives/gtk-devel-list/2009-June/msg00062.html +-// +-// for details. Until this has been fixed upstream we will use our own implementation +-// of this method, as copied from /gtkmm-2.16.0/gtk/gtkmm/clipboard.cc. +-void ClipboardManagerImpl::_inkscape_wait_for_targets(std::list &listTargets) +-{ +- //Get a newly-allocated array of atoms: +- GdkAtom* targets = NULL; +- gint n_targets = 0; +- gboolean test = gtk_clipboard_wait_for_targets( gtk_clipboard_get(GDK_SELECTION_CLIPBOARD), &targets, &n_targets ); +- if (!test || (targets == NULL)) { +- return; +- } +- +- //Add the targets to the C++ container: +- for (int i = 0; i < n_targets; i++) +- { +- //Convert the atom to a string: +- gchar* const atom_name = gdk_atom_name(targets[i]); +- +- Glib::ustring target; +- if (atom_name) { +- target = Glib::ScopedPtr(atom_name).get(); //This frees the gchar*. +- } +- +- listTargets.push_back(target); +- } +-} +- + /* ####################################### + ClipboardManager class + ####################################### */ + diff --git a/inkscape.spec b/inkscape.spec index d63fcad..da13a8e 100644 --- a/inkscape.spec +++ b/inkscape.spec @@ -1,6 +1,6 @@ Name: inkscape Version: 0.91 -Release: 25%{?dist} +Release: 26%{?dist} Summary: Vector-based drawing program using SVG Group: Applications/Productivity @@ -15,6 +15,7 @@ Source1: %{name}.appdata.xml Patch0: inkscape-0.48.2-types.patch # Submitted upstream: https://bugs.launchpad.net/inkscape/+bug/1545771 Patch1: inkscape-0.91-desktop.patch +Patch2: inkscape-0.91-drop-wait-for-targets.patch BuildRequires: aspell-devel BuildRequires: atk-devel @@ -99,6 +100,7 @@ graphics in W3C standard Scalable Vector Graphics (SVG) file format. %setup -q %patch0 -p1 -b .types %patch1 -p1 -b .desktop +%patch2 -p0 -b .wft # https://bugs.launchpad.net/inkscape/+bug/314381 # A couple of files have executable bits set, @@ -208,6 +210,9 @@ fi %changelog +* Fri Apr 08 2016 Jon Ciesla - 0.91-26 +- Fix FTBFS with patch from https://bugzilla.gnome.org/show_bug.cgi?id=586626 + * Mon Feb 22 2016 Orion Poplawski - Rebuild for gsl 2.1