<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[116186] trunk/dports/graphics/inkscape</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/116186">116186</a></dd>
<dt>Author</dt> <dd>devans@macports.org</dd>
<dt>Date</dt> <dd>2014-01-20 23:26:27 -0800 (Mon, 20 Jan 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>inkscape: apply latest upstream patches, boehmgc-7.4 patch now included upstream, increment revision.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportsgraphicsinkscapePortfile">trunk/dports/graphics/inkscape/Portfile</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkdportsgraphicsinkscapefilespatchr10004thrur10009diff">trunk/dports/graphics/inkscape/files/patch-r10004-thru-r10009.diff</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkdportsgraphicsinkscapefilespatchboehmgc74diff">trunk/dports/graphics/inkscape/files/patch-boehmgc-7.4.diff</a></li>
<li><a href="#trunkdportsgraphicsinkscapefilespatchr10004thrur10006diff">trunk/dports/graphics/inkscape/files/patch-r10004-thru-r10006.diff</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportsgraphicsinkscapePortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/graphics/inkscape/Portfile (116185 => 116186)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/graphics/inkscape/Portfile        2014-01-21 06:56:36 UTC (rev 116185)
+++ trunk/dports/graphics/inkscape/Portfile        2014-01-21 07:26:27 UTC (rev 116186)
</span><span class="lines">@@ -6,7 +6,7 @@
</span><span class="cx"> name            inkscape
</span><span class="cx"> conflicts       inkscape-devel
</span><span class="cx"> version         0.48.4
</span><del>-revision        25
</del><ins>+revision        26
</ins><span class="cx"> license         GPL-2 LGPL-2.1
</span><span class="cx"> maintainers     devans
</span><span class="cx"> categories      graphics gnome
</span><span class="lines">@@ -49,8 +49,7 @@
</span><span class="cx"> 
</span><span class="cx"> patchfiles      patch-thru-r9971.diff \
</span><span class="cx">                 patch-r9972-thru-r10003.diff \
</span><del>-                patch-r10004-thru-r10006.diff \
-                patch-boehmgc-7.4.diff \
</del><ins>+                patch-r10004-thru-r10009.diff \
</ins><span class="cx">                 patch-python-configure.ac.diff
</span><span class="cx"> 
</span><span class="cx"> variant python26 conflicts python27 description {Configure to use Python version 2.6} {
</span></span></pre></div>
<a id="trunkdportsgraphicsinkscapefilespatchboehmgc74diff"></a>
<div class="delfile"><h4>Deleted: trunk/dports/graphics/inkscape/files/patch-boehmgc-7.4.diff (116185 => 116186)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/graphics/inkscape/files/patch-boehmgc-7.4.diff        2014-01-21 06:56:36 UTC (rev 116185)
+++ trunk/dports/graphics/inkscape/files/patch-boehmgc-7.4.diff        2014-01-21 07:26:27 UTC (rev 116186)
</span><span class="lines">@@ -1,54 +0,0 @@
</span><del>---- src/gc-core.h.old        2013-12-31 01:22:38.976653890 +0400
-+++ src/gc-core.h        2013-12-31 01:22:48.525653608 +0400
-@@ -57,7 +57,7 @@
-                                            CleanupFunc *old_func,
-                                            void **old_data);
-     int (*general_register_disappearing_link)(void **p_ptr,
--                                              void *base);
-+                                              const void *base);
-     int (*unregister_disappearing_link)(void **p_ptr);
-     std::size_t (*get_heap_size)();
-     std::size_t (*get_free_bytes)();
---- src/gc.cpp.old        2013-12-31 01:23:50.462651778 +0400
-+++ src/gc.cpp        2013-12-31 01:40:37.718622017 +0400
-@@ -70,8 +70,8 @@
-     return base + debug_base_fixup();
- }

--int debug_general_register_disappearing_link(void **p_ptr, void *base) {
--    char *real_base=reinterpret_cast&lt;char *&gt;(base) - debug_base_fixup();
-+int debug_general_register_disappearing_link(void **p_ptr, const void *base) {
-+    char *real_base=const_cast&lt;char *&gt;(reinterpret_cast&lt;const char *&gt;(base)) - debug_base_fixup();
-     return GC_general_register_disappearing_link(p_ptr, real_base);
- }

-@@ -90,7 +90,7 @@
-     }
- }

--int dummy_general_register_disappearing_link(void **, void *) { return false; }
-+int dummy_general_register_disappearing_link(void **, const void *) { return false; }

- int dummy_unregister_disappearing_link(void **/*link*/) { return false; }

-@@ -112,7 +112,11 @@
-     &amp;GC_malloc_atomic_uncollectable,
-     &amp;GC_base,
-     &amp;GC_register_finalizer_ignore_self,
-+#if (GC_MAJOR_VERSION &gt;= 7 &amp;&amp; GC_MINOR_VERSION &gt;= 4)
-     &amp;GC_general_register_disappearing_link,
-+#else
-+    (int (*)(void**, const void*))(&amp;GC_general_register_disappearing_link),
-+#endif
-     &amp;GC_unregister_disappearing_link,
-     &amp;GC_get_heap_size,
-     &amp;GC_get_free_bytes,
-@@ -202,7 +206,7 @@
-     die_because_not_initialized();
- }

--int stub_general_register_disappearing_link(void **, void *) {
-+int stub_general_register_disappearing_link(void **, const void *) {
-     die_because_not_initialized();
-     return 0;
- }
</del></span></pre></div>
<a id="trunkdportsgraphicsinkscapefilespatchr10004thrur10006diff"></a>
<div class="delfile"><h4>Deleted: trunk/dports/graphics/inkscape/files/patch-r10004-thru-r10006.diff (116185 => 116186)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/graphics/inkscape/files/patch-r10004-thru-r10006.diff        2014-01-21 06:56:36 UTC (rev 116185)
+++ trunk/dports/graphics/inkscape/files/patch-r10004-thru-r10006.diff        2014-01-21 07:26:27 UTC (rev 116186)
</span><span class="lines">@@ -1,85 +0,0 @@
</span><del>-=== modified file 'src/color-profile.cpp'
---- src/color-profile.cpp        2013-12-10 12:44:19 +0000
-+++ src/color-profile.cpp        2013-12-15 00:47:56 +0000
-@@ -980,7 +980,7 @@
-         }
-         nameStr = Glib::ustring(data.begin(), data.end());
-     }
--    if (nameStr.empty()) {
-+    if (nameStr.empty() || !g_utf8_validate(nameStr.c_str(), -1, NULL)) {
-         nameStr = _(&quot;(invalid UTF-8 string)&quot;);
-     }
- #endif
-
-=== modified file 'src/ui/tool/multi-path-manipulator.cpp'
---- src/ui/tool/multi-path-manipulator.cpp        2013-12-10 12:44:18 +0000
-+++ src/ui/tool/multi-path-manipulator.cpp        2013-12-12 16:04:06 +0000
-@@ -333,18 +333,21 @@

- void MultiPathManipulator::insertNodes()
- {
-+    if (_selection.empty()) return;
-     invokeForAll(&amp;PathManipulator::insertNodes);
-     _done(_(&quot;Add nodes&quot;));
- }

- void MultiPathManipulator::duplicateNodes()
- {
-+    if (_selection.empty()) return;
-     invokeForAll(&amp;PathManipulator::duplicateNodes);
-     _done(_(&quot;Duplicate nodes&quot;));
- }

- void MultiPathManipulator::joinNodes()
- {
-+    if (_selection.empty()) return;
-     invokeForAll(&amp;PathManipulator::hideDragPoint);
-     // Node join has two parts. In the first one we join two subpaths by fusing endpoints
-     // into one. In the second we fuse nodes in each subpath.
-@@ -422,6 +425,7 @@
- /** Join selected endpoints to create segments. */
- void MultiPathManipulator::joinSegments()
- {
-+    if (_selection.empty()) return;
-     IterPairList joins;
-     find_join_iterators(_selection, joins);

-@@ -454,6 +458,7 @@

- void MultiPathManipulator::alignNodes(Geom::Dim2 d)
- {
-+    if (_selection.empty()) return;
-     _selection.align(d);
-     if (d == Geom::X) {
-         _done(&quot;Align nodes to a horizontal line&quot;);
-@@ -464,6 +469,7 @@

- void MultiPathManipulator::distributeNodes(Geom::Dim2 d)
- {
-+    if (_selection.empty()) return;
-     _selection.distribute(d);
-     if (d == Geom::X) {
-         _done(&quot;Distrubute nodes horizontally&quot;);
-@@ -706,7 +712,7 @@
-         case GDK_u:
-         case GDK_U:
-             if (held_only_shift(event-&gt;key)) {
--                // Shift+L - make segments curves
-+                // Shift+U - make segments curves
-                 setSegmentType(SEGMENT_CUBIC_BEZIER);
-                 return true;
-             }
-
-=== modified file 'src/widgets/toolbox.cpp'
---- src/widgets/toolbox.cpp        2011-05-21 23:22:03 +0000
-+++ src/widgets/toolbox.cpp        2013-12-12 16:04:06 +0000
-@@ -3769,7 +3769,7 @@
-     GtkAdjustment *adj;

-     // fixme: make settable
--    gdouble rev = 5;
-+    gdouble rev = 3;
-     gdouble exp = 1.0;
-     gdouble t0 = 0.0;

-
</del></span></pre></div>
<a id="trunkdportsgraphicsinkscapefilespatchr10004thrur10009diff"></a>
<div class="addfile"><h4>Added: trunk/dports/graphics/inkscape/files/patch-r10004-thru-r10009.diff (0 => 116186)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/graphics/inkscape/files/patch-r10004-thru-r10009.diff                                (rev 0)
+++ trunk/dports/graphics/inkscape/files/patch-r10004-thru-r10009.diff        2014-01-21 07:26:27 UTC (rev 116186)
</span><span class="lines">@@ -0,0 +1,177 @@
</span><ins>+=== modified file 'src/color-profile.cpp'
+--- src/color-profile.cpp        2013-12-10 12:44:19 +0000
++++ src/color-profile.cpp        2013-12-15 00:47:56 +0000
+@@ -980,7 +980,7 @@
+         }
+         nameStr = Glib::ustring(data.begin(), data.end());
+     }
+-    if (nameStr.empty()) {
++    if (nameStr.empty() || !g_utf8_validate(nameStr.c_str(), -1, NULL)) {
+         nameStr = _(&quot;(invalid UTF-8 string)&quot;);
+     }
+ #endif
+
+=== modified file 'src/gc-core.h'
+--- src/gc-core.h        2011-12-08 22:05:10 +0000
++++ src/gc-core.h        2014-01-21 06:52:09 +0000
+@@ -57,7 +57,7 @@
+                                            CleanupFunc *old_func,
+                                            void **old_data);
+     int (*general_register_disappearing_link)(void **p_ptr,
+-                                              void *base);
++                                              void const *base);
+     int (*unregister_disappearing_link)(void **p_ptr);
+     std::size_t (*get_heap_size)();
+     std::size_t (*get_free_bytes)();
+
+=== modified file 'src/gc.cpp'
+--- src/gc.cpp        2011-12-08 22:05:10 +0000
++++ src/gc.cpp        2014-01-21 06:52:09 +0000
+@@ -70,9 +70,13 @@
+     return base + debug_base_fixup();
+ }

+-int debug_general_register_disappearing_link(void **p_ptr, void *base) {
+-    char *real_base=reinterpret_cast&lt;char *&gt;(base) - debug_base_fixup();
++int debug_general_register_disappearing_link(void **p_ptr, void const *base) {
++    char const *real_base = reinterpret_cast&lt;char const *&gt;(base) - debug_base_fixup();
++#if (GC_MAJOR_VERSION &gt;= 7 &amp;&amp; GC_MINOR_VERSION &gt;= 4)
+     return GC_general_register_disappearing_link(p_ptr, real_base);
++#else // compatibility with older Boehm GC versions
++    return GC_general_register_disappearing_link(p_ptr, const_cast&lt;char *&gt;(real_base));
++#endif
+ }

+ void dummy_do_init() {}
+@@ -90,7 +94,7 @@
+     }
+ }

+-int dummy_general_register_disappearing_link(void **, void *) { return false; }
++int dummy_general_register_disappearing_link(void **, void const *) { return false; }

+ int dummy_unregister_disappearing_link(void **/*link*/) { return false; }

+@@ -112,7 +116,11 @@
+     &amp;GC_malloc_atomic_uncollectable,
+     &amp;GC_base,
+     &amp;GC_register_finalizer_ignore_self,
+-    &amp;GC_general_register_disappearing_link,
++#if (GC_MAJOR_VERSION &gt;= 7 &amp;&amp; GC_MINOR_VERSION &gt;= 4)
++     &amp;GC_general_register_disappearing_link,
++#else // compatibility with older Boehm GC versions
++    (int (*)(void**, const void*))(&amp;GC_general_register_disappearing_link),
++#endif
+     &amp;GC_unregister_disappearing_link,
+     &amp;GC_get_heap_size,
+     &amp;GC_get_free_bytes,
+@@ -202,7 +210,7 @@
+     die_because_not_initialized();
+ }

+-int stub_general_register_disappearing_link(void **, void *) {
++int stub_general_register_disappearing_link(void **, void const *) {
+     die_because_not_initialized();
+     return 0;
+ }
+
+=== modified file 'src/main.cpp'
+--- src/main.cpp        2011-12-08 22:05:10 +0000
++++ src/main.cpp        2014-01-21 06:52:09 +0000
+@@ -520,6 +520,9 @@
+     } else {
+         printf(&quot;python not found\n\n&quot;);
+     }*/
++        
++        // fix bug #950781
++        SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX);

+     g_free(python);
+     g_free(scripts);
+
+=== modified file 'src/preferences.cpp'
+--- src/preferences.cpp        2009-11-29 15:33:18 +0000
++++ src/preferences.cpp        2014-01-21 06:52:09 +0000
+@@ -629,6 +629,9 @@
+     // No longer necessary, can cause problems with input devices which have a dot in the name
+     // g_assert( pref_key.find('.') == Glib::ustring::npos );

++    if (_prefs_doc == NULL){
++        return NULL;
++    }
+     Inkscape::XML::Node *node = _prefs_doc-&gt;root();
+     Inkscape::XML::Node *child = NULL;
+     gchar **splits = g_strsplit(pref_key.c_str(), &quot;/&quot;, 0);
+
+=== modified file 'src/ui/tool/multi-path-manipulator.cpp'
+--- src/ui/tool/multi-path-manipulator.cpp        2013-12-10 12:44:18 +0000
++++ src/ui/tool/multi-path-manipulator.cpp        2013-12-12 16:04:06 +0000
+@@ -333,18 +333,21 @@

+ void MultiPathManipulator::insertNodes()
+ {
++    if (_selection.empty()) return;
+     invokeForAll(&amp;PathManipulator::insertNodes);
+     _done(_(&quot;Add nodes&quot;));
+ }

+ void MultiPathManipulator::duplicateNodes()
+ {
++    if (_selection.empty()) return;
+     invokeForAll(&amp;PathManipulator::duplicateNodes);
+     _done(_(&quot;Duplicate nodes&quot;));
+ }

+ void MultiPathManipulator::joinNodes()
+ {
++    if (_selection.empty()) return;
+     invokeForAll(&amp;PathManipulator::hideDragPoint);
+     // Node join has two parts. In the first one we join two subpaths by fusing endpoints
+     // into one. In the second we fuse nodes in each subpath.
+@@ -422,6 +425,7 @@
+ /** Join selected endpoints to create segments. */
+ void MultiPathManipulator::joinSegments()
+ {
++    if (_selection.empty()) return;
+     IterPairList joins;
+     find_join_iterators(_selection, joins);

+@@ -454,6 +458,7 @@

+ void MultiPathManipulator::alignNodes(Geom::Dim2 d)
+ {
++    if (_selection.empty()) return;
+     _selection.align(d);
+     if (d == Geom::X) {
+         _done(&quot;Align nodes to a horizontal line&quot;);
+@@ -464,6 +469,7 @@

+ void MultiPathManipulator::distributeNodes(Geom::Dim2 d)
+ {
++    if (_selection.empty()) return;
+     _selection.distribute(d);
+     if (d == Geom::X) {
+         _done(&quot;Distrubute nodes horizontally&quot;);
+@@ -706,7 +712,7 @@
+         case GDK_u:
+         case GDK_U:
+             if (held_only_shift(event-&gt;key)) {
+-                // Shift+L - make segments curves
++                // Shift+U - make segments curves
+                 setSegmentType(SEGMENT_CUBIC_BEZIER);
+                 return true;
+             }
+
+=== modified file 'src/widgets/toolbox.cpp'
+--- src/widgets/toolbox.cpp        2011-05-21 23:22:03 +0000
++++ src/widgets/toolbox.cpp        2013-12-12 16:04:06 +0000
+@@ -3769,7 +3769,7 @@
+     GtkAdjustment *adj;

+     // fixme: make settable
+-    gdouble rev = 5;
++    gdouble rev = 3;
+     gdouble exp = 1.0;
+     gdouble t0 = 0.0;

+
</ins></span></pre>
</div>
</div>

</body>
</html>