Merge lp:~valavanisalex/ubuntu/oneiric/inkscape/inkscape_0.48.1-2.1ubuntu1 into lp:ubuntu/oneiric/inkscape

Proposed by Alex Valavanis on 2011-06-02
Status: Merged
Merged at revision: 57
Proposed branch: lp:~valavanisalex/ubuntu/oneiric/inkscape/inkscape_0.48.1-2.1ubuntu1
Merge into: lp:ubuntu/oneiric/inkscape
Diff against target: 5343 lines (+1005/-4302)
6 files modified
debian/changelog (+38/-0)
debian/patches/00list (+3/-1)
debian/patches/04-fix-build-with-gcc4.6.dpatch (+18/-0)
debian/patches/04-fix-gcc4.6-ftbfs.dpatch (+0/-4301)
debian/patches/05-add-missing-includes.dpatch (+799/-0)
debian/patches/fix-datamatrix-ui.dpatch (+147/-0)
To merge this branch: bzr merge lp:~valavanisalex/ubuntu/oneiric/inkscape/inkscape_0.48.1-2.1ubuntu1
Reviewer Review Type Date Requested Status
Chris Coulson (community) Approve on 2011-06-06
Ubuntu branches 2011-06-02 Pending
Review via email: mp+63205@code.launchpad.net

Description of the change

This is a merge with the latest Debian package version. Debian has now accepted one of the patches that was applied in Ubuntu.

To post a comment you must log in.
58. By Alex Valavanis on 2011-06-02

  - debian/control:
    + Ubuntu maintainers
    + Promote python-lxml, python-numpy, python-uniconvertor to Recommends.
    + Demote pstoedit to Suggests (universe package).
    + Suggest transfig to allow import of xfig files (LP: #668300)
    + Drop unnecessary python and skencil suggestions (LP: #762541)
  - Handle translation tasks for Ubuntu main (LP: #726850):
    + debian/rules: Add dh_translations to binary-arch rule
    + debian/control: Build-Depends dh-translations
  - debian/patches/01_add_unity_quicklist_support.patch: add "New Drawing"
  - debian/patches/fix-fontforge-glyph-template.dpatch: Cherry-pick
  - debian/patches/02-add-shebangs-and-fix-permissions.dpatch: No longer mark
    JavaScript extension files as standalone executables (LP: #602005):
    + share/extensions/*.js: Revert addition of shebangs
    + share/extensions/Makefile.am: Install *.js using _DATA rule rather
* debian/patches/fix-datamatrix-ui.dpatch: Prevent invalid input in
  Datamatrix extension dialog (LP: #738108)

Chris Coulson (chrisccoulson) wrote :

Looks good, thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2011-05-30 17:54:56 +0000
3+++ debian/changelog 2011-06-02 17:24:36 +0000
4@@ -1,3 +1,41 @@
5+inkscape (0.48.1-2.1ubuntu1) oneiric; urgency=low
6+
7+ * Merge from Debian Unstable (LP: #791728). Remaining changes:
8+ - debian/control:
9+ + Ubuntu maintainers
10+ + Promote python-lxml, python-numpy, python-uniconvertor to Recommends.
11+ + Demote pstoedit to Suggests (universe package).
12+ + Suggest transfig to allow import of xfig files (LP: #668300)
13+ + Drop unnecessary python and skencil suggestions (LP: #762541)
14+ - Handle translation tasks for Ubuntu main (LP: #726850):
15+ + debian/rules: Add dh_translations to binary-arch rule
16+ + debian/control: Build-Depends dh-translations
17+ - debian/patches/01_add_unity_quicklist_support.patch: add "New Drawing"
18+ to Unity quicklist (LP: #676886)
19+ - debian/patches/fix-fontforge-glyph-template.dpatch: Cherry-pick
20+ patch from uptream trunk to fix layer structure in template (LP: #565296)
21+ - debian/patches/02-add-shebangs-and-fix-permissions.dpatch: No longer mark
22+ JavaScript extension files as standalone executables (LP: #602005):
23+ + share/extensions/*.js: Revert addition of shebangs
24+ + share/extensions/Makefile.am: Install *.js using _DATA rule rather
25+ than _SCRIPTS rule to avoid giving executable permission
26+ * debian/patches/fix-datamatrix-ui.dpatch: Prevent invalid input in
27+ Datamatrix extension dialog (LP: #738108)
28+
29+ -- Alex Valavanis <valavanisalex@gmail.com> Thu, 02 Jun 2011 18:13:05 +0100
30+
31+inkscape (0.48.1-2.1) unstable; urgency=high
32+
33+ * Non-maintainer upload.
34+ * Fix FTBFS with gcc 4.6 (Closes: #624770), Thanks to Alex Valavanis
35+ for the patch.
36+ - added 04-fix-build-with-gcc4.6.dpatch
37+ * Fix build issues due to missing includes (Closes: #628226), patch
38+ taken from upstream.
39+ - added 05-add-missing-includes.dpatch
40+
41+ -- Mehdi Dogguy <mehdi@debian.org> Mon, 30 May 2011 17:07:11 +0200
42+
43 inkscape (0.48.1-2ubuntu5) oneiric; urgency=low
44
45 * debian/rules: No need to manually call intltool-update on build. This
46
47=== modified file 'debian/patches/00list'
48--- debian/patches/00list 2011-05-30 17:54:56 +0000
49+++ debian/patches/00list 2011-06-02 17:24:36 +0000
50@@ -2,5 +2,7 @@
51 02-add-shebangs-and-fix-permissions
52 03-add-missing-mimetypes
53 01_add_unity_quicklist_support.patch
54-04-fix-gcc4.6-ftbfs.dpatch
55+04-fix-build-with-gcc4.6.dpatch
56+05-add-missing-includes.dpatch
57 fix-fontforge-glyph-template.dpatch
58+fix-datamatrix-ui.dpatch
59
60=== added file 'debian/patches/04-fix-build-with-gcc4.6.dpatch'
61--- debian/patches/04-fix-build-with-gcc4.6.dpatch 1970-01-01 00:00:00 +0000
62+++ debian/patches/04-fix-build-with-gcc4.6.dpatch 2011-06-02 17:24:36 +0000
63@@ -0,0 +1,18 @@
64+#! /bin/sh /usr/share/dpatch/dpatch-run
65+## 04-fix-build-with-gcc4.6.dpatch by Mehdi Dogguy <mehdi@debian.org>
66+##
67+## DP: #624770
68+
69+@DPATCH@
70+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/Makefile.am inkscape-0.48.1/src/Makefile.am
71+--- inkscape-0.48.1~/src/Makefile.am 2010-07-13 05:48:40.000000000 +0200
72++++ inkscape-0.48.1/src/Makefile.am 2011-05-30 16:36:29.000000000 +0200
73+@@ -205,7 +205,7 @@
74+
75+ inkscape_SOURCES += main.cpp $(win32_sources)
76+ inkscape_LDADD = $(all_libs)
77+-inkscape_LDFLAGS = --export-dynamic $(kdeldflags) $(mwindows)
78++inkscape_LDFLAGS = -Wl,--export-dynamic $(kdeldflags) $(mwindows)
79+
80+ inkview_SOURCES += inkview.cpp $(win32_sources)
81+ inkview_LDADD = $(all_libs)
82
83=== removed file 'debian/patches/04-fix-gcc4.6-ftbfs.dpatch'
84--- debian/patches/04-fix-gcc4.6-ftbfs.dpatch 2011-06-01 18:05:51 +0000
85+++ debian/patches/04-fix-gcc4.6-ftbfs.dpatch 1970-01-01 00:00:00 +0000
86@@ -1,4301 +0,0 @@
87-#! /bin/sh /usr/share/dpatch/dpatch-run
88-## Description: Fix build failure with gcc 4.6
89-## Author: theAdib <theadib@gmail.com>
90-## Bug: https://bugs.launchpad.net/inkscape/+bug/765983
91-## 04-fix-gcc4.6-ftbfs.dpatch by Alex Valavanis <valavanisalex@gmail.com>
92-##
93-## All lines beginning with `## DP:' are a description of the patch.
94-## DP: No description.
95-
96-@DPATCH@
97-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/2geom/utils.h inkscape-0.48.1/src/2geom/utils.h
98---- inkscape-0.48.1~/src/2geom/utils.h 2010-07-13 04:48:40.000000000 +0100
99-+++ inkscape-0.48.1/src/2geom/utils.h 2011-05-01 00:56:53.101250888 +0100
100-@@ -33,6 +33,7 @@
101- *
102- */
103-
104-+#include <cstddef>
105- #include <cmath>
106- #include <vector>
107-
108-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/Makefile.am inkscape-0.48.1/src/Makefile.am
109---- inkscape-0.48.1~/src/Makefile.am 2010-07-13 04:48:40.000000000 +0100
110-+++ inkscape-0.48.1/src/Makefile.am 2011-05-01 00:56:19.591250878 +0100
111-@@ -205,7 +205,7 @@
112-
113- inkscape_SOURCES += main.cpp $(win32_sources)
114- inkscape_LDADD = $(all_libs)
115--inkscape_LDFLAGS = --export-dynamic $(kdeldflags) $(mwindows)
116-+inkscape_LDFLAGS = -Wl,--export-dynamic $(kdeldflags) $(mwindows)
117-
118- inkview_SOURCES += inkview.cpp $(win32_sources)
119- inkview_LDADD = $(all_libs)
120-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/Makefile.am.orig inkscape-0.48.1/src/Makefile.am.orig
121---- inkscape-0.48.1~/src/Makefile.am.orig 1970-01-01 01:00:00.000000000 +0100
122-+++ inkscape-0.48.1/src/Makefile.am.orig 2010-07-13 04:48:40.000000000 +0100
123-@@ -0,0 +1,277 @@
124-+## Process this file with automake to produce Makefile.in
125-+
126-+# ################################################
127-+# G L O B A L
128-+# ################################################
129-+
130-+# Should work in either automake1.7 or 1.8, but 1.6 doesn't
131-+# handle foo/libfoo_a_CPPFLAGS properly (if at all).
132-+# Update: We now avoid setting foo/libfoo_a_CPPFLAGS,
133-+# so perhaps 1.6 will work.
134-+AUTOMAKE_OPTIONS = 1.7 subdir-objects
135-+
136-+# Executables compiled by "make" and installed by "make install"
137-+bin_PROGRAMS = inkscape inkview
138-+
139-+# Libraries which should be compiled by "make" but not installed.
140-+# Use this only for libraries that are really standalone, rather than for
141-+# source tree subdirectories.
142-+#if WITH_INKBOARD
143-+#libpedro = pedro/libpedro.a
144-+#endif
145-+noinst_LIBRARIES = \
146-+ libinkscape.a \
147-+ dom/libdom.a \
148-+ libcroco/libcroco.a \
149-+ libavoid/libavoid.a \
150-+ libgdl/libgdl.a \
151-+ libcola/libcola.a \
152-+ libvpsc/libvpsc.a \
153-+ livarot/libvarot.a \
154-+ 2geom/lib2geom.a \
155-+ $(libpedro) \
156-+ libinkversion.a
157-+
158-+all_libs = \
159-+ $(noinst_LIBRARIES) \
160-+ $(INKSCAPE_LIBS) \
161-+ $(GNOME_VFS_LIBS) \
162-+ $(XFT_LIBS) \
163-+ $(FREETYPE_LIBS) \
164-+ $(kdeldadd) \
165-+ $(win32ldflags) \
166-+ $(CARBON_LDFLAGS) \
167-+ $(PERL_LIBS) \
168-+ $(PYTHON_LIBS) \
169-+ $(INKBOARD_LIBS) \
170-+ $(LIBWPG_LIBS) \
171-+ $(IMAGEMAGICK_LIBS)
172-+
173-+# Add sources common for Inkscape and Inkview to this variable.
174-+ink_common_sources =
175-+# Add Inkscape-only sources here.
176-+inkscape_SOURCES =
177-+# Add Inkview-only sources here.
178-+inkview_SOURCES =
179-+
180-+INCLUDES = \
181-+ $(PERL_CFLAGS) $(PYTHON_CFLAGS) \
182-+ $(FREETYPE_CFLAGS) \
183-+ $(GNOME_PRINT_CFLAGS) \
184-+ $(GNOME_VFS_CFLAGS) \
185-+ $(IMAGEMAGICK_CFLAGS) \
186-+ $(INKBOARD_CFLAGS) \
187-+ $(LIBWPG_CFLAGS) \
188-+ $(XFT_CFLAGS) \
189-+ $(LCMS_CFLAGS) \
190-+ $(POPPLER_CFLAGS) \
191-+ $(POPPLER_GLIB_CFLAGS) \
192-+ -DPOTRACE=\"potrace\" \
193-+ $(INKSCAPE_CFLAGS) \
194-+ -I$(top_srcdir)/cxxtest \
195-+ $(WIN32_CFLAGS) \
196-+ -I$(srcdir)/bind/javainc \
197-+ -I$(srcdir)/bind/javainc/linux \
198-+ $(AM_CPPFLAGS)
199-+
200-+CXXTEST_TEMPLATE = $(srcdir)/cxxtest-template.tpl
201-+CXXTESTGENFLAGS = --root --have-eh --template=$(CXXTEST_TEMPLATE)
202-+CXXTESTGEN = $(top_srcdir)/cxxtest/cxxtestgen.pl $(CXXTESTGENFLAGS)
203-+# Add test cases to this variable
204-+CXXTEST_TESTSUITES =
205-+
206-+# ################################################
207-+#
208-+# E X T R A
209-+#
210-+# ################################################
211-+
212-+if PLATFORM_WIN32
213-+win32_sources = winmain.cpp registrytool.cpp registrytool.h
214-+win32ldflags = -lcomdlg32 -lmscms
215-+mwindows = -mwindows
216-+endif
217-+
218-+if INKJAR
219-+inkjar_dir = inkjar
220-+inkjar_libs = inkjar/libinkjar.a
221-+endif
222-+
223-+# Include all partial makefiles from subdirectories
224-+include Makefile_insert
225-+include application/Makefile_insert
226-+include bind/Makefile_insert
227-+include dialogs/Makefile_insert
228-+include display/Makefile_insert
229-+include dom/Makefile_insert
230-+include extension/Makefile_insert
231-+include extension/implementation/Makefile_insert
232-+include extension/internal/Makefile_insert
233-+include extension/script/Makefile_insert
234-+include filters/Makefile_insert
235-+include helper/Makefile_insert
236-+include io/Makefile_insert
237-+#include pedro/Makefile_insert
238-+#include jabber_whiteboard/Makefile_insert
239-+include libcroco/Makefile_insert
240-+include libgdl/Makefile_insert
241-+include libnr/Makefile_insert
242-+include libnrtype/Makefile_insert
243-+include libavoid/Makefile_insert
244-+include livarot/Makefile_insert
245-+include live_effects/Makefile_insert
246-+include live_effects/parameter/Makefile_insert
247-+include libvpsc/Makefile_insert
248-+include libcola/Makefile_insert
249-+include svg/Makefile_insert
250-+include widgets/Makefile_insert
251-+include debug/Makefile_insert
252-+include xml/Makefile_insert
253-+include ui/Makefile_insert
254-+include ui/cache/Makefile_insert
255-+include ui/dialog/Makefile_insert
256-+include ui/tool/Makefile_insert
257-+include ui/view/Makefile_insert
258-+include ui/widget/Makefile_insert
259-+include util/Makefile_insert
260-+include trace/Makefile_insert
261-+include 2geom/Makefile_insert
262-+
263-+# Extra files not mentioned as sources to include in the source tarball
264-+EXTRA_DIST = \
265-+ $(top_srcdir)/Doxyfile \
266-+ sp-skeleton.cpp sp-skeleton.h \
267-+ util/makefile.in \
268-+ application/makefile.in \
269-+ bind/makefile.in \
270-+ debug/makefile.in \
271-+ dialogs/makefile.in \
272-+ display/makefile.in \
273-+ dom/makefile.in \
274-+ extension/implementation/makefile.in \
275-+ extension/internal/makefile.in \
276-+ extension/makefile.in \
277-+ extension/script/makefile.in \
278-+ filters/makefile.in \
279-+ helper/makefile.in \
280-+ io/makefile.in \
281-+ io/crystalegg.xml \
282-+ io/doc2html.xsl \
283-+ pedro/makefile.in \
284-+ jabber_whiteboard/makefile.in \
285-+ libgdl/makefile.in \
286-+ libcroco/makefile.in \
287-+ libnr/makefile.in \
288-+ libnrtype/makefile.in \
289-+ libavoid/makefile.in \
290-+ livarot/makefile.in \
291-+ live_effects/makefile.in \
292-+ live_effects/parameter/makefile.in \
293-+ svg/makefile.in \
294-+ trace/makefile.in \
295-+ ui/makefile.in \
296-+ ui/cache/makefile.in \
297-+ ui/dialog/makefile.in \
298-+ ui/view/makefile.in \
299-+ ui/widget/makefile.in \
300-+ util/makefile.in \
301-+ widgets/makefile.in \
302-+ xml/makefile.in \
303-+ 2geom/makefile.in \
304-+ extension/internal/win32.cpp \
305-+ extension/internal/win32.h \
306-+ extension/internal/emf-win32-inout.cpp \
307-+ extension/internal/emf-win32-inout.h \
308-+ extension/internal/emf-win32-print.cpp \
309-+ extension/internal/emf-win32-print.h \
310-+ helper/sp-marshal.list \
311-+ show-preview.bmp \
312-+ winconsole.cpp \
313-+ $(jabber_whiteboard_SOURCES) \
314-+ $(CXXTEST_TEMPLATE)
315-+
316-+# Extra files to remove when doing "make distclean"
317-+DISTCLEANFILES = \
318-+ helper/sp-marshal.cpp \
319-+ helper/sp-marshal.h \
320-+ inkscape-version.cpp
321-+
322-+# ################################################
323-+# B I N A R I E S
324-+# ################################################
325-+
326-+# this should speed up the build
327-+libinkscape_a_SOURCES = $(ink_common_sources)
328-+
329-+inkscape_SOURCES += main.cpp $(win32_sources)
330-+inkscape_LDADD = $(all_libs)
331-+inkscape_LDFLAGS = --export-dynamic $(kdeldflags) $(mwindows)
332-+
333-+inkview_SOURCES += inkview.cpp $(win32_sources)
334-+inkview_LDADD = $(all_libs)
335-+inkview_LDFLAGS = $(mwindows)
336-+
337-+# ################################################
338-+# VERSION REPORTING
339-+# ################################################
340-+
341-+libinkversion_a_SOURCES = inkscape-version.cpp inkscape-version.h
342-+
343-+if USE_BZR_VERSION
344-+inkscape_version_deps = $(top_srcdir)/.bzr/branch/last-revision
345-+endif
346-+
347-+# If this is an BZR snapshot build, regenerate this file every time
348-+# someone updates the BZR working directory.
349-+inkscape-version.cpp: $(inkscape_version_deps)
350-+ VER_PREFIX="$(VERSION)";\
351-+ VER_BZRREV=" r`bzr revno`"; \
352-+ if test ! -z "`bzr status -S -V $(srcdir)`"; then \
353-+ VER_CUSTOM=" custom"; \
354-+ fi; \
355-+ VERSION="$$VER_PREFIX$$VER_BZRREV$$VER_CUSTOM"; \
356-+ echo "namespace Inkscape { " \
357-+ "char const *version_string = \"$$VERSION\"; " \
358-+ "}" > inkscape-version.new.cpp; \
359-+ if cmp -s inkscape-version.new.cpp inkscape-version.cpp; then \
360-+ rm inkscape-version.new.cpp; \
361-+ else \
362-+ mv inkscape-version.new.cpp inkscape-version.cpp; \
363-+ fi; \
364-+ echo $$VERSION
365-+
366-+# #################################
367-+# ## TESTING STUFF (make check) ###
368-+# #################################
369-+
370-+# List of all programs that should be built before testing. Note that this is
371-+# different from TESTS, because some tests can be scripts that don't
372-+# need to be built. There should be one test program per directory.
373-+# automake adds $(EXEEXT) to check_PROGRAMS items but not to TESTS items:
374-+# TESTS items can be scripts etc.
375-+check_PROGRAMS = cxxtests
376-+
377-+# streamtest is unfinished and can't handle the relocations done during
378-+# "make distcheck".
379-+
380-+# List of all tests to be run.
381-+TESTS = $(check_PROGRAMS) ../share/extensions/test/run-all-extension-tests
382-+XFAIL_TESTS = $(check_PROGRAMS) ../share/extensions/test/run-all-extension-tests
383-+
384-+# including the the testsuites here ensures that they get distributed
385-+cxxtests_SOURCES = cxxtests.cpp libnr/nr-compose-reference.cpp $(CXXTEST_TESTSUITES)
386-+cxxtests_LDADD = $(all_libs)
387-+
388-+cxxtests.cpp: $(CXXTEST_TESTSUITES) $(CXXTEST_TEMPLATE)
389-+ $(CXXTESTGEN) -o cxxtests.cpp $(CXXTEST_TESTSUITES)
390-+
391-+# ################################################
392-+# D I S T
393-+# ################################################
394-+
395-+dist-hook:
396-+ mkdir $(distdir)/pixmaps
397-+ cp $(srcdir)/pixmaps/*xpm $(distdir)/pixmaps
398-+
399-+distclean-local:
400-+ rm -f cxxtests.xml cxxtests.log
401-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/arc-context.h inkscape-0.48.1/src/arc-context.h
402---- inkscape-0.48.1~/src/arc-context.h 2010-07-13 04:48:40.000000000 +0100
403-+++ inkscape-0.48.1/src/arc-context.h 2011-05-01 00:56:19.591250878 +0100
404-@@ -15,6 +15,7 @@
405- * Released under GNU GPL, read the file 'COPYING' for more information
406- */
407-
408-+#include <stddef.h>
409- #include <sigc++/connection.h>
410-
411- #include <2geom/point.h>
412-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/box3d-context.h inkscape-0.48.1/src/box3d-context.h
413---- inkscape-0.48.1~/src/box3d-context.h 2010-07-13 04:48:40.000000000 +0100
414-+++ inkscape-0.48.1/src/box3d-context.h 2011-05-01 00:56:19.591250878 +0100
415-@@ -15,6 +15,7 @@
416- * Released under GNU GPL
417- */
418-
419-+#include <stddef.h>
420- #include <sigc++/sigc++.h>
421- #include "event-context.h"
422- #include "proj_pt.h"
423-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/conn-avoid-ref.h inkscape-0.48.1/src/conn-avoid-ref.h
424---- inkscape-0.48.1~/src/conn-avoid-ref.h 2010-07-13 04:48:40.000000000 +0100
425-+++ inkscape-0.48.1/src/conn-avoid-ref.h 2011-05-01 00:56:19.591250878 +0100
426-@@ -14,6 +14,7 @@
427- */
428-
429- #include <glib/gslist.h>
430-+#include <stddef.h>
431- #include <sigc++/connection.h>
432-
433- struct SPDesktop;
434-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/connection-pool.h inkscape-0.48.1/src/connection-pool.h
435---- inkscape-0.48.1~/src/connection-pool.h 2010-07-13 04:48:40.000000000 +0100
436-+++ inkscape-0.48.1/src/connection-pool.h 2011-05-01 00:56:19.591250878 +0100
437-@@ -3,6 +3,7 @@
438-
439- #include <glib-object.h>
440- #include <gtkmm.h>
441-+#include <stddef.h>
442- #include <sigc++/sigc++.h>
443-
444- namespace Inkscape
445-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/connector-context.h inkscape-0.48.1/src/connector-context.h
446---- inkscape-0.48.1~/src/connector-context.h 2010-07-13 04:48:40.000000000 +0100
447-+++ inkscape-0.48.1/src/connector-context.h 2011-05-01 00:56:19.591250878 +0100
448-@@ -12,6 +12,7 @@
449- * Released under GNU GPL, read the file 'COPYING' for more information
450- */
451-
452-+#include <stddef.h>
453- #include <sigc++/sigc++.h>
454- #include <sigc++/connection.h>
455- #include "event-context.h"
456-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/desktop.h inkscape-0.48.1/src/desktop.h
457---- inkscape-0.48.1~/src/desktop.h 2010-07-13 04:48:40.000000000 +0100
458-+++ inkscape-0.48.1/src/desktop.h 2011-05-01 00:56:19.591250878 +0100
459-@@ -27,6 +27,7 @@
460-
461- #include <gdk/gdkevents.h>
462- #include <gtk/gtktypeutils.h>
463-+#include <stddef.h>
464- #include <sigc++/sigc++.h>
465-
466- #include <2geom/matrix.h>
467-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/desktop.h.orig inkscape-0.48.1/src/desktop.h.orig
468---- inkscape-0.48.1~/src/desktop.h.orig 1970-01-01 01:00:00.000000000 +0100
469-+++ inkscape-0.48.1/src/desktop.h.orig 2010-07-13 04:48:40.000000000 +0100
470-@@ -0,0 +1,379 @@
471-+#ifndef SEEN_SP_DESKTOP_H
472-+#define SEEN_SP_DESKTOP_H
473-+
474-+/** \file
475-+ * SPDesktop: an editable view.
476-+ *
477-+ * Author:
478-+ * Lauris Kaplinski <lauris@kaplinski.com>
479-+ * Frank Felfe <innerspace@iname.com>
480-+ * bulia byak <buliabyak@users.sf.net>
481-+ * Ralf Stephan <ralf@ark.in-berlin.de>
482-+ * John Bintz <jcoswell@coswellproductions.org>
483-+ * Johan Engelen <j.b.c.engelen@ewi.utwente.nl>
484-+ *
485-+ * Copyright (C) 2007 Johan Engelen
486-+ * Copyright (C) 2006 John Bintz
487-+ * Copyright (C) 1999-2005 authors
488-+ * Copyright (C) 2000-2001 Ximian, Inc.
489-+ *
490-+ * Released under GNU GPL, read the file 'COPYING' for more information
491-+ *
492-+ */
493-+
494-+#ifdef HAVE_CONFIG_H
495-+#include "config.h"
496-+#endif
497-+
498-+#include <gdk/gdkevents.h>
499-+#include <gtk/gtktypeutils.h>
500-+#include <sigc++/sigc++.h>
501-+
502-+#include <2geom/matrix.h>
503-+#include <2geom/rect.h>
504-+
505-+#include "ui/view/view.h"
506-+#include "ui/view/edit-widget-interface.h"
507-+
508-+#include "display/rendermode.h"
509-+#include "display/snap-indicator.h"
510-+
511-+class SPCSSAttr;
512-+struct SPCanvas;
513-+struct SPCanvasItem;
514-+struct SPCanvasGroup;
515-+struct SPEventContext;
516-+struct SPItem;
517-+struct SPNamedView;
518-+struct SPObject;
519-+struct SPStyle;
520-+
521-+namespace Gtk
522-+{
523-+ class Window;
524-+}
525-+
526-+typedef int sp_verb_t;
527-+
528-+
529-+
530-+namespace Inkscape {
531-+ class Application;
532-+ class MessageContext;
533-+ class Selection;
534-+ class ObjectHierarchy;
535-+ class LayerManager;
536-+ class EventLog;
537-+ namespace UI {
538-+ namespace Dialog {
539-+ class DialogManager;
540-+ }
541-+ }
542-+ namespace Whiteboard {
543-+ class SessionManager;
544-+ }
545-+ namespace Display {
546-+ class TemporaryItemList;
547-+ class TemporaryItem;
548-+ //class SnapIndicator;
549-+ }
550-+}
551-+
552-+/**
553-+ * Editable view.
554-+ *
555-+ * @see \ref desktop-handles.h for desktop macros.
556-+ */
557-+struct SPDesktop : public Inkscape::UI::View::View
558-+{
559-+ Inkscape::UI::Dialog::DialogManager *_dlg_mgr;
560-+ SPNamedView *namedview;
561-+ SPCanvas *canvas;
562-+ /// current selection; will never generally be NULL
563-+ Inkscape::Selection *selection;
564-+ SPEventContext *event_context;
565-+ Inkscape::LayerManager *layer_manager;
566-+ Inkscape::EventLog *event_log;
567-+
568-+ Inkscape::Display::TemporaryItemList *temporary_item_list;
569-+ Inkscape::Display::SnapIndicator *snapindicator;
570-+
571-+ SPCanvasItem *acetate;
572-+ SPCanvasGroup *main;
573-+ SPCanvasGroup *gridgroup;
574-+ SPCanvasGroup *guides;
575-+ SPCanvasItem *drawing;
576-+ SPCanvasGroup *sketch;
577-+ SPCanvasGroup *controls;
578-+ SPCanvasGroup *tempgroup; ///< contains temporary canvas items
579-+ SPCanvasItem *table; ///< outside-of-page background
580-+ SPCanvasItem *page; ///< page background
581-+ SPCanvasItem *page_border; ///< page border
582-+ SPCSSAttr *current; ///< current style
583-+ bool _focusMode; ///< Whether we're focused working or general working
584-+
585-+ GList *zooms_past;
586-+ GList *zooms_future;
587-+ bool _quick_zoom_enabled; ///< Signifies that currently we're in quick zoom mode
588-+ Geom::Rect _quick_zoom_stored_area; ///< The area of the screen before quick zoom
589-+ unsigned int dkey;
590-+ unsigned int number;
591-+ guint window_state;
592-+ unsigned int interaction_disabled_counter;
593-+ bool waiting_cursor;
594-+
595-+ /// \todo fixme: This has to be implemented in different way */
596-+ guint guides_active : 1;
597-+
598-+ // storage for selected dragger used by GrDrag as it's
599-+ // created and deleted by tools
600-+ SPItem *gr_item;
601-+ guint gr_point_type;
602-+ guint gr_point_i;
603-+ bool gr_fill_or_stroke;
604-+
605-+
606-+ Inkscape::ObjectHierarchy *_layer_hierarchy;
607-+ gchar * _reconstruction_old_layer_id;
608-+
609-+ sigc::signal<void, sp_verb_t> _tool_changed;
610-+ sigc::signal<void, SPObject *> _layer_changed_signal;
611-+ sigc::signal<bool, const SPCSSAttr *>::accumulated<StopOnTrue> _set_style_signal;
612-+ sigc::signal<int, SPStyle *, int>::accumulated<StopOnNonZero> _query_style_signal;
613-+
614-+ /// Emitted when the zoom factor changes (not emitted when scrolling).
615-+ /// The parameter is the new zoom factor
616-+ sigc::signal<void, double> signal_zoom_changed;
617-+
618-+ sigc::connection connectDocumentReplaced (const sigc::slot<void,SPDesktop*,SPDocument*> & slot)
619-+ {
620-+ return _document_replaced_signal.connect (slot);
621-+ }
622-+
623-+ sigc::connection connectEventContextChanged (const sigc::slot<void,SPDesktop*,SPEventContext*> & slot)
624-+ {
625-+ return _event_context_changed_signal.connect (slot);
626-+ }
627-+ sigc::connection connectSetStyle (const sigc::slot<bool, const SPCSSAttr *> & slot)
628-+ {
629-+ return _set_style_signal.connect (slot);
630-+ }
631-+ sigc::connection connectQueryStyle (const sigc::slot<int, SPStyle *, int> & slot)
632-+ {
633-+ return _query_style_signal.connect (slot);
634-+ }
635-+ // subselection is some sort of selection which is specific to the tool, such as a handle in gradient tool, or a text selection
636-+ sigc::connection connectToolSubselectionChanged(const sigc::slot<void, gpointer> & slot) {
637-+ return _tool_subselection_changed.connect(slot);
638-+ }
639-+ void emitToolSubselectionChanged(gpointer data);
640-+ sigc::connection connectCurrentLayerChanged(const sigc::slot<void, SPObject *> & slot) {
641-+ return _layer_changed_signal.connect(slot);
642-+ }
643-+
644-+ // Whiteboard changes
645-+
646-+#ifdef WITH_INKBOARD
647-+ Inkscape::Whiteboard::SessionManager* whiteboard_session_manager() {
648-+ return _whiteboard_session_manager;
649-+ }
650-+
651-+ Inkscape::Whiteboard::SessionManager* _whiteboard_session_manager;
652-+#endif
653-+
654-+ SPDesktop();
655-+ void init (SPNamedView* nv, SPCanvas* canvas, Inkscape::UI::View::EditWidgetInterface *widget);
656-+ virtual ~SPDesktop();
657-+ void destroy();
658-+
659-+ Inkscape::MessageContext *guidesMessageContext() const {
660-+ return _guides_message_context;
661-+ }
662-+
663-+ Inkscape::Display::TemporaryItem * add_temporary_canvasitem (SPCanvasItem *item, guint lifetime, bool move_to_bottom = true);
664-+ void remove_temporary_canvasitem (Inkscape::Display::TemporaryItem * tempitem);
665-+
666-+ void _setDisplayMode(Inkscape::RenderMode mode);
667-+ void setDisplayModeNormal() {
668-+ _setDisplayMode(Inkscape::RENDERMODE_NORMAL);
669-+ }
670-+ void setDisplayModeNoFilters() {
671-+ _setDisplayMode(Inkscape::RENDERMODE_NO_FILTERS);
672-+ }
673-+ void setDisplayModeOutline() {
674-+ _setDisplayMode(Inkscape::RENDERMODE_OUTLINE);
675-+ }
676-+// void setDisplayModePrintColorsPreview() {
677-+// _setDisplayMode(Inkscape::RENDERMODE_PRINT_COLORS_PREVIEW);
678-+// }
679-+ void displayModeToggle();
680-+ Inkscape::RenderMode _display_mode;
681-+ Inkscape::RenderMode getMode() const { return _display_mode; }
682-+
683-+ Inkscape::UI::Widget::Dock* getDock() { return _widget->getDock(); }
684-+
685-+ void set_active (bool new_active);
686-+ SPObject *currentRoot() const;
687-+ SPObject *currentLayer() const;
688-+ void setCurrentLayer(SPObject *object);
689-+ void toggleLayerSolo(SPObject *object);
690-+ SPObject *layerForObject(SPObject *object);
691-+ bool isLayer(SPObject *object) const;
692-+ bool isWithinViewport(SPItem *item) const;
693-+ bool itemIsHidden(SPItem const *item) const;
694-+
695-+ void activate_guides (bool activate);
696-+ void change_document (SPDocument *document);
697-+
698-+ void set_event_context (GtkType type, const gchar *config);
699-+ void push_event_context (GtkType type, const gchar *config, unsigned int key);
700-+
701-+ void set_coordinate_status (Geom::Point p);
702-+ SPItem *item_from_list_at_point_bottom (const GSList *list, Geom::Point const p) const;
703-+ SPItem *item_at_point (Geom::Point const p, bool into_groups, SPItem *upto = NULL) const;
704-+ SPItem *group_at_point (Geom::Point const p) const;
705-+ Geom::Point point() const;
706-+
707-+ Geom::Rect get_display_area() const;
708-+ void set_display_area (double x0, double y0, double x1, double y1, double border, bool log = true);
709-+ void set_display_area(Geom::Rect const &a, Geom::Coord border, bool log = true);
710-+ void zoom_absolute (double cx, double cy, double zoom);
711-+ void zoom_relative (double cx, double cy, double zoom);
712-+ void zoom_absolute_keep_point (double cx, double cy, double px, double py, double zoom);
713-+ void zoom_relative_keep_point (double cx, double cy, double zoom);
714-+ void zoom_relative_keep_point (Geom::Point const &c, double const zoom)
715-+ {
716-+ zoom_relative_keep_point (c[Geom::X], c[Geom::Y], zoom);
717-+ }
718-+
719-+ void zoom_page();
720-+ void zoom_page_width();
721-+ void zoom_drawing();
722-+ void zoom_selection();
723-+ void zoom_grab_focus();
724-+ double current_zoom() const { return _d2w.descrim(); }
725-+ void prev_zoom();
726-+ void next_zoom();
727-+ void zoom_quick(bool enable = true);
728-+ /** \brief Returns whether the desktop is in quick zoom mode or not */
729-+ bool quick_zoomed(void) { return _quick_zoom_enabled; }
730-+
731-+ bool scroll_to_point (Geom::Point const &s_dt, gdouble autoscrollspeed = 0);
732-+ void scroll_world (double dx, double dy, bool is_scrolling = false);
733-+ void scroll_world (Geom::Point const scroll, bool is_scrolling = false)
734-+ {
735-+ scroll_world(scroll[Geom::X], scroll[Geom::Y], is_scrolling);
736-+ }
737-+ void scroll_world_in_svg_coords (double dx, double dy, bool is_scrolling = false);
738-+
739-+ void getWindowGeometry (gint &x, gint &y, gint &w, gint &h);
740-+ void setWindowPosition (Geom::Point p);
741-+ void setWindowSize (gint w, gint h);
742-+ void setWindowTransient (void* p, int transient_policy=1);
743-+ Gtk::Window* getToplevel();
744-+ void presentWindow();
745-+ bool warnDialog (gchar *text);
746-+ void toggleRulers();
747-+ void toggleScrollbars();
748-+ void layoutWidget();
749-+ void destroyWidget();
750-+ void setToolboxFocusTo (gchar const* label);
751-+ void setToolboxAdjustmentValue (gchar const* id, double val);
752-+ void setToolboxSelectOneValue (gchar const* id, gint val);
753-+ bool isToolboxButtonActive (gchar const *id);
754-+ void updateNow();
755-+ void updateCanvasNow();
756-+
757-+ void enableInteraction();
758-+ void disableInteraction();
759-+
760-+ void setWaitingCursor();
761-+ void clearWaitingCursor();
762-+ bool isWaitingCursor() const { return waiting_cursor; };
763-+
764-+ void toggleColorProfAdjust();
765-+
766-+ void toggleGrids();
767-+ void toggleSnapGlobal();
768-+ bool gridsEnabled() const { return grids_visible; };
769-+ void showGrids(bool show, bool dirty_document = true);
770-+
771-+ bool is_iconified();
772-+ bool is_maximized();
773-+ bool is_fullscreen();
774-+ bool is_focusMode();
775-+
776-+ void iconify();
777-+ void maximize();
778-+ void fullscreen();
779-+ void focusMode(bool mode = true);
780-+
781-+ Geom::Matrix w2d() const; //transformation from window to desktop coordinates (used for zooming)
782-+ Geom::Point w2d(Geom::Point const &p) const;
783-+ Geom::Point d2w(Geom::Point const &p) const;
784-+ Geom::Matrix doc2dt() const;
785-+ Geom::Matrix dt2doc() const;
786-+ Geom::Point doc2dt(Geom::Point const &p) const;
787-+ Geom::Point dt2doc(Geom::Point const &p) const;
788-+
789-+ virtual void setDocument (SPDocument* doc);
790-+ virtual bool shutdown();
791-+ virtual void mouseover() {}
792-+ virtual void mouseout() {}
793-+
794-+ virtual bool onDeleteUI (GdkEventAny*);
795-+ virtual bool onWindowStateEvent (GdkEventWindowState* event);
796-+
797-+private:
798-+ Inkscape::UI::View::EditWidgetInterface *_widget;
799-+ Inkscape::Application *_inkscape;
800-+ Inkscape::MessageContext *_guides_message_context;
801-+ bool _active;
802-+ Geom::Matrix _w2d;
803-+ Geom::Matrix _d2w;
804-+ Geom::Matrix _doc2dt;
805-+
806-+ bool grids_visible; /* don't set this variable directly, use the method below */
807-+ void set_grids_visible(bool visible);
808-+
809-+ void push_current_zoom (GList**);
810-+
811-+ sigc::signal<void,SPDesktop*,SPDocument*> _document_replaced_signal;
812-+ sigc::signal<void> _activate_signal;
813-+ sigc::signal<void> _deactivate_signal;
814-+ sigc::signal<void,SPDesktop*,SPEventContext*> _event_context_changed_signal;
815-+ sigc::signal<void, gpointer> _tool_subselection_changed;
816-+
817-+ sigc::connection _activate_connection;
818-+ sigc::connection _deactivate_connection;
819-+ sigc::connection _sel_modified_connection;
820-+ sigc::connection _sel_changed_connection;
821-+ sigc::connection _reconstruction_start_connection;
822-+ sigc::connection _reconstruction_finish_connection;
823-+ sigc::connection _commit_connection;
824-+ sigc::connection _modified_connection;
825-+
826-+ virtual void onPositionSet (double, double);
827-+ virtual void onResized (double, double);
828-+ virtual void onRedrawRequested();
829-+ virtual void onStatusMessage (Inkscape::MessageType type, gchar const *message);
830-+ virtual void onDocumentURISet (gchar const* uri);
831-+ virtual void onDocumentResized (double, double);
832-+
833-+ static void _onActivate (SPDesktop* dt);
834-+ static void _onDeactivate (SPDesktop* dt);
835-+ static void _onSelectionModified (Inkscape::Selection *selection, guint flags, SPDesktop *dt);
836-+};
837-+
838-+#endif // SEEN_SP_DESKTOP_H
839-+
840-+/*
841-+ Local Variables:
842-+ mode:c++
843-+ c-file-style:"stroustrup"
844-+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
845-+ indent-tabs-mode:nil
846-+ fill-column:99
847-+ End:
848-+*/
849-+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
850-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/dialogs/object-attributes.cpp inkscape-0.48.1/src/dialogs/object-attributes.cpp
851---- inkscape-0.48.1~/src/dialogs/object-attributes.cpp 2010-07-13 04:48:40.000000000 +0100
852-+++ inkscape-0.48.1/src/dialogs/object-attributes.cpp 2011-05-01 00:56:19.591250878 +0100
853-@@ -13,6 +13,7 @@
854- #include <glibmm/i18n.h>
855- #include <string>
856- #include <cstring>
857-+#include <stddef.h>
858- #include <sigc++/connection.h>
859- #include <sigc++/functors/ptr_fun.h>
860- #include <sigc++/adaptors/bind.h>
861-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/display/canvas-temporary-item.h inkscape-0.48.1/src/display/canvas-temporary-item.h
862---- inkscape-0.48.1~/src/display/canvas-temporary-item.h 2010-07-13 04:48:40.000000000 +0100
863-+++ inkscape-0.48.1/src/display/canvas-temporary-item.h 2011-05-01 00:56:19.591250878 +0100
864-@@ -14,6 +14,7 @@
865-
866- #include "display/display-forward.h"
867-
868-+#include <stddef.h>
869- #include <sigc++/sigc++.h>
870-
871- namespace Inkscape {
872-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/display/canvas-temporary-item.h.orig inkscape-0.48.1/src/display/canvas-temporary-item.h.orig
873---- inkscape-0.48.1~/src/display/canvas-temporary-item.h.orig 1970-01-01 01:00:00.000000000 +0100
874-+++ inkscape-0.48.1/src/display/canvas-temporary-item.h.orig 2010-07-13 04:48:40.000000000 +0100
875-@@ -0,0 +1,57 @@
876-+#ifndef INKSCAPE_CANVAS_TEMPORARY_ITEM_H
877-+#define INKSCAPE_CANVAS_TEMPORARY_ITEM_H
878-+
879-+/** \file
880-+ * Provides a class to put a canvasitem temporarily on-canvas.
881-+ *
882-+ * Authors:
883-+ * Johan Engelen
884-+ *
885-+ * Copyright (C) Johan Engelen 2008 <j.b.c.engelen@utwente.nl>
886-+ *
887-+ * Released under GNU GPL, read the file 'COPYING' for more information
888-+ */
889-+
890-+#include "display/display-forward.h"
891-+
892-+#include <sigc++/sigc++.h>
893-+
894-+namespace Inkscape {
895-+namespace Display {
896-+
897-+class TemporaryItem {
898-+public:
899-+ TemporaryItem(SPCanvasItem *item, guint lifetime, bool destroy_on_deselect = false);
900-+ virtual ~TemporaryItem();
901-+
902-+ sigc::signal<void, TemporaryItem *> signal_timeout;
903-+
904-+protected:
905-+ friend class TemporaryItemList;
906-+
907-+ SPCanvasItem * canvasitem; /** The item we are holding on to */
908-+ guint timeout_id; /** ID by which glib knows the timeout event */
909-+ bool destroy_on_deselect; // only destroy when parent item is deselected, not when mouse leaves
910-+
911-+ static gboolean _timeout(gpointer data); ///< callback for when lifetime expired
912-+
913-+private:
914-+ TemporaryItem(const TemporaryItem&);
915-+ TemporaryItem& operator=(const TemporaryItem&);
916-+};
917-+
918-+} //namespace Display
919-+} //namespace Inkscape
920-+
921-+#endif
922-+
923-+/*
924-+ Local Variables:
925-+ mode:c++
926-+ c-file-style:"stroustrup"
927-+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
928-+ indent-tabs-mode:nil
929-+ fill-column:99
930-+ End:
931-+*/
932-+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
933-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/document-private.h inkscape-0.48.1/src/document-private.h
934---- inkscape-0.48.1~/src/document-private.h 2010-07-13 04:48:40.000000000 +0100
935-+++ inkscape-0.48.1/src/document-private.h 2011-05-01 00:56:19.591250878 +0100
936-@@ -14,6 +14,7 @@
937- */
938-
939- #include <map>
940-+#include <stddef.h>
941- #include <sigc++/sigc++.h>
942- #include "xml/event-fns.h"
943- #include "sp-defs.h"
944-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/document-private.h.orig inkscape-0.48.1/src/document-private.h.orig
945---- inkscape-0.48.1~/src/document-private.h.orig 1970-01-01 01:00:00.000000000 +0100
946-+++ inkscape-0.48.1/src/document-private.h.orig 2010-07-13 04:48:40.000000000 +0100
947-@@ -0,0 +1,79 @@
948-+#ifndef __SP_DOCUMENT_PRIVATE_H__
949-+#define __SP_DOCUMENT_PRIVATE_H__
950-+
951-+/*
952-+ * Seldom needed document data
953-+ *
954-+ * Authors:
955-+ * Lauris Kaplinski <lauris@kaplinski.com>
956-+ *
957-+ * Copyright (C) 1999-2002 Lauris Kaplinski
958-+ * Copyright (C) 2001-2002 Ximian, Inc.
959-+ *
960-+ * Released under GNU GPL, read the file 'COPYING' for more information
961-+ */
962-+
963-+#include <map>
964-+#include <sigc++/sigc++.h>
965-+#include "xml/event-fns.h"
966-+#include "sp-defs.h"
967-+#include "sp-root.h"
968-+#include "document.h"
969-+
970-+#include "composite-undo-stack-observer.h"
971-+
972-+#include "event-log.h"
973-+
974-+// XXX only for testing!
975-+#include "console-output-undo-observer.h"
976-+
977-+#define SP_DOCUMENT_DEFS(d) ((SPObject *) SP_ROOT (SP_DOCUMENT_ROOT (d))->defs)
978-+
979-+namespace Inkscape {
980-+namespace XML {
981-+class Event;
982-+}
983-+}
984-+
985-+
986-+struct SPDocumentPrivate {
987-+ typedef std::map<GQuark, SPDocument::IDChangedSignal> IDChangedSignalMap;
988-+ typedef std::map<GQuark, SPDocument::ResourcesChangedSignal> ResourcesChangedSignalMap;
989-+
990-+ GHashTable *iddef; /**< Dictionary of id -> SPObject mappings */
991-+ GHashTable *reprdef; /**< Dictionary of Inkscape::XML::Node -> SPObject mappings */
992-+
993-+ unsigned long serial;
994-+
995-+ /** Dictionary of signals for id changes */
996-+ IDChangedSignalMap id_changed_signals;
997-+
998-+ /* Resources */
999-+ /* It is GHashTable of GSLists */
1000-+ GHashTable *resources;
1001-+ ResourcesChangedSignalMap resources_changed_signals;
1002-+
1003-+ SPDocument::ModifiedSignal modified_signal;
1004-+ SPDocument::URISetSignal uri_set_signal;
1005-+ SPDocument::ResizedSignal resized_signal;
1006-+ SPDocument::ReconstructionStart _reconstruction_start_signal;
1007-+ SPDocument::ReconstructionFinish _reconstruction_finish_signal;
1008-+ SPDocument::CommitSignal commit_signal;
1009-+
1010-+ /* Undo/Redo state */
1011-+ bool sensitive: true; /* If we save actions to undo stack */
1012-+ Inkscape::XML::Event * partial; /* partial undo log when interrupted */
1013-+ int history_size;
1014-+ GSList * undo; /* Undo stack of reprs */
1015-+ GSList * redo; /* Redo stack of reprs */
1016-+
1017-+ /* Undo listener */
1018-+ Inkscape::CompositeUndoStackObserver undoStackObservers;
1019-+
1020-+ // XXX only for testing!
1021-+ Inkscape::ConsoleOutputUndoObserver console_output_undo_observer;
1022-+
1023-+ bool seeking;
1024-+};
1025-+
1026-+#endif
1027-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/document-subset.h inkscape-0.48.1/src/document-subset.h
1028---- inkscape-0.48.1~/src/document-subset.h 2010-07-13 04:48:40.000000000 +0100
1029-+++ inkscape-0.48.1/src/document-subset.h 2011-05-01 00:56:19.591250878 +0100
1030-@@ -10,6 +10,7 @@
1031- #ifndef SEEN_INKSCAPE_DOCUMENT_SUBSET_H
1032- #define SEEN_INKSCAPE_DOCUMENT_SUBSET_H
1033-
1034-+#include <stddef.h>
1035- #include <sigc++/connection.h>
1036- #include <sigc++/functors/slot.h>
1037-
1038-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/document.h inkscape-0.48.1/src/document.h
1039---- inkscape-0.48.1~/src/document.h 2010-08-04 17:45:00.000000000 +0100
1040-+++ inkscape-0.48.1/src/document.h 2011-05-01 00:56:19.601250878 +0100
1041-@@ -17,6 +17,7 @@
1042-
1043- #include <glib-object.h>
1044- #include <gtk/gtksignal.h>
1045-+#include <stddef.h>
1046- #include <sigc++/sigc++.h>
1047- #include <sigc++/class_slot.h>
1048-
1049-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/document.h.orig inkscape-0.48.1/src/document.h.orig
1050---- inkscape-0.48.1~/src/document.h.orig 1970-01-01 01:00:00.000000000 +0100
1051-+++ inkscape-0.48.1/src/document.h.orig 2010-08-04 17:45:00.000000000 +0100
1052-@@ -0,0 +1,304 @@
1053-+#ifndef __SP_DOCUMENT_H__
1054-+#define __SP_DOCUMENT_H__
1055-+
1056-+/** \file
1057-+ * SPDocument: Typed SVG document implementation
1058-+ */
1059-+/* Authors:
1060-+ * Lauris Kaplinski <lauris@kaplinski.com>
1061-+ * MenTaLguY <mental@rydia.net>
1062-+ *
1063-+ * Copyright (C) 2004-2005 MenTaLguY
1064-+ * Copyright (C) 1999-2002 Lauris Kaplinski
1065-+ * Copyright (C) 2000-2001 Ximian, Inc.
1066-+ *
1067-+ * Released under GNU GPL, read the file 'COPYING' for more information
1068-+ */
1069-+
1070-+#include <glib-object.h>
1071-+#include <gtk/gtksignal.h>
1072-+#include <sigc++/sigc++.h>
1073-+#include <sigc++/class_slot.h>
1074-+
1075-+#include "libcroco/cr-cascade.h"
1076-+#include <2geom/forward.h>
1077-+
1078-+#include "gc-managed.h"
1079-+#include "gc-finalized.h"
1080-+#include "gc-anchored.h"
1081-+#include <glibmm/ustring.h>
1082-+#include "verbs.h"
1083-+#include <vector>
1084-+#include <set>
1085-+
1086-+namespace Avoid {
1087-+class Router;
1088-+}
1089-+
1090-+struct NRRect;
1091-+struct SPDesktop;
1092-+struct SPItem;
1093-+struct SPObject;
1094-+struct SPGroup;
1095-+
1096-+namespace Inkscape {
1097-+ struct Application;
1098-+ class Selection;
1099-+ class UndoStackObserver;
1100-+ class EventLog;
1101-+ class ProfileManager;
1102-+ namespace XML {
1103-+ class Document;
1104-+ class Node;
1105-+ }
1106-+}
1107-+
1108-+class SP3DBox;
1109-+class Persp3D;
1110-+class Persp3DImpl;
1111-+
1112-+namespace Proj {
1113-+ class TransfMat3x4;
1114-+}
1115-+
1116-+class SPDocumentPrivate;
1117-+
1118-+/// Typed SVG document implementation.
1119-+struct SPDocument : public Inkscape::GC::Managed<>,
1120-+ public Inkscape::GC::Finalized,
1121-+ public Inkscape::GC::Anchored
1122-+{
1123-+ typedef sigc::signal<void, SPObject *> IDChangedSignal;
1124-+ typedef sigc::signal<void> ResourcesChangedSignal;
1125-+ typedef sigc::signal<void, guint> ModifiedSignal;
1126-+ typedef sigc::signal<void, gchar const *> URISetSignal;
1127-+ typedef sigc::signal<void, double, double> ResizedSignal;
1128-+ typedef sigc::signal<void> ReconstructionStart;
1129-+ typedef sigc::signal<void> ReconstructionFinish;
1130-+ typedef sigc::signal<void> CommitSignal;
1131-+
1132-+ SPDocument();
1133-+ virtual ~SPDocument();
1134-+
1135-+ unsigned int keepalive : 1;
1136-+ unsigned int virgin : 1; ///< Has the document never been touched?
1137-+ unsigned int modified_since_save : 1;
1138-+
1139-+ Inkscape::XML::Document *rdoc; ///< Our Inkscape::XML::Document
1140-+ Inkscape::XML::Node *rroot; ///< Root element of Inkscape::XML::Document
1141-+ SPObject *root; ///< Our SPRoot
1142-+ CRCascade *style_cascade;
1143-+
1144-+ gchar *uri; ///< A filename (not a URI yet), or NULL
1145-+ gchar *base; ///< To be used for resolving relative hrefs.
1146-+ gchar *name; ///< basename(uri) or other human-readable label for the document.
1147-+
1148-+ SPDocumentPrivate *priv;
1149-+
1150-+ /// Last action key
1151-+ Glib::ustring actionkey;
1152-+
1153-+ /// Handler ID
1154-+ guint modified_id;
1155-+
1156-+ /// Connector rerouting handler ID
1157-+ guint rerouting_handler_id;
1158-+
1159-+ Inkscape::ProfileManager* profileManager;
1160-+
1161-+ // Instance of the connector router
1162-+ Avoid::Router *router;
1163-+
1164-+ GSList *_collection_queue;
1165-+
1166-+ bool oldSignalsConnected;
1167-+
1168-+ void setCurrentPersp3D(Persp3D * const persp);
1169-+ inline void setCurrentPersp3DImpl(Persp3DImpl * const persp_impl) { current_persp3d_impl = persp_impl; }
1170-+ /*
1171-+ * getCurrentPersp3D returns current_persp3d (if non-NULL) or the first
1172-+ * perspective in the defs. If no perspective exists, returns NULL.
1173-+ */
1174-+ Persp3D * getCurrentPersp3D();
1175-+ Persp3DImpl * getCurrentPersp3DImpl();
1176-+ void getPerspectivesInDefs(std::vector<Persp3D*> &list);
1177-+ unsigned int numPerspectivesInDefs() {
1178-+ std::vector<Persp3D*> list;
1179-+ getPerspectivesInDefs(list);
1180-+ return list.size();
1181-+ }
1182-+
1183-+ //void initialize_current_persp3d();
1184-+
1185-+ sigc::connection connectModified(ModifiedSignal::slot_type slot);
1186-+ sigc::connection connectURISet(URISetSignal::slot_type slot);
1187-+ sigc::connection connectResized(ResizedSignal::slot_type slot);
1188-+sigc::connection connectCommit(CommitSignal::slot_type slot);
1189-+
1190-+ void bindObjectToId(gchar const *id, SPObject *object);
1191-+ SPObject *getObjectById(gchar const *id);
1192-+ sigc::connection connectIdChanged(const gchar *id, IDChangedSignal::slot_type slot);
1193-+
1194-+ void bindObjectToRepr(Inkscape::XML::Node *repr, SPObject *object);
1195-+ SPObject *getObjectByRepr(Inkscape::XML::Node *repr);
1196-+
1197-+ Glib::ustring getLanguage();
1198-+
1199-+ void queueForOrphanCollection(SPObject *object);
1200-+ void collectOrphans();
1201-+
1202-+ void _emitModified();
1203-+
1204-+ void addUndoObserver(Inkscape::UndoStackObserver& observer);
1205-+ void removeUndoObserver(Inkscape::UndoStackObserver& observer);
1206-+
1207-+ bool _updateDocument();
1208-+
1209-+ /// Are we currently in a transition between two "known good" states of the document?
1210-+ bool isSeeking() const;
1211-+
1212-+ bool isModifiedSinceSave() const { return modified_since_save; }
1213-+ void setModifiedSinceSave(bool modified = true) {
1214-+ modified_since_save = modified;
1215-+ }
1216-+
1217-+private:
1218-+ SPDocument(SPDocument const &); // no copy
1219-+ void operator=(SPDocument const &); // no assign
1220-+
1221-+ Persp3D *current_persp3d; /**< Currently 'active' perspective (to which, e.g., newly created boxes are attached) */
1222-+ Persp3DImpl *current_persp3d_impl;
1223-+
1224-+public:
1225-+ sigc::connection connectReconstructionStart(ReconstructionStart::slot_type slot);
1226-+ sigc::connection connectReconstructionFinish(ReconstructionFinish::slot_type slot);
1227-+ void emitReconstructionStart(void);
1228-+ void emitReconstructionFinish(void);
1229-+
1230-+ unsigned long serial() const;
1231-+ void reset_key(void *dummy);
1232-+ sigc::connection _selection_changed_connection;
1233-+ sigc::connection _desktop_activated_connection;
1234-+
1235-+ void fitToRect(Geom::Rect const &rect, bool with_margins = false);
1236-+};
1237-+
1238-+SPDocument *sp_document_new(const gchar *uri, unsigned int keepalive, bool make_new = false);
1239-+SPDocument *sp_document_new_from_mem(const gchar *buffer, gint length, unsigned int keepalive);
1240-+
1241-+SPDocument *sp_document_ref(SPDocument *doc);
1242-+SPDocument *sp_document_unref(SPDocument *doc);
1243-+
1244-+
1245-+SPDocument *sp_document_create(Inkscape::XML::Document *rdoc, gchar const *uri, gchar const *base, gchar const *name, unsigned int keepalive);
1246-+
1247-+/*
1248-+ * Access methods
1249-+ */
1250-+
1251-+#define sp_document_repr_doc(d) (d->rdoc)
1252-+#define sp_document_repr_root(d) (d->rroot)
1253-+#define sp_document_root(d) (d->root)
1254-+#define SP_DOCUMENT_ROOT(d) (d->root)
1255-+
1256-+gdouble sp_document_width(SPDocument *document);
1257-+gdouble sp_document_height(SPDocument *document);
1258-+Geom::Point sp_document_dimensions(SPDocument *document);
1259-+
1260-+struct SPUnit;
1261-+
1262-+void sp_document_set_width(SPDocument *document, gdouble width, const SPUnit *unit);
1263-+void sp_document_set_height(SPDocument *document, gdouble height, const SPUnit *unit);
1264-+
1265-+#define SP_DOCUMENT_URI(d) (d->uri)
1266-+#define SP_DOCUMENT_NAME(d) (d->name)
1267-+#define SP_DOCUMENT_BASE(d) (d->base)
1268-+
1269-+/*
1270-+ * Dictionary
1271-+ */
1272-+
1273-+/*
1274-+ * Undo & redo
1275-+ */
1276-+
1277-+void sp_document_set_undo_sensitive(SPDocument *document, bool sensitive);
1278-+bool sp_document_get_undo_sensitive(SPDocument const *document);
1279-+
1280-+void sp_document_clear_undo(SPDocument *document);
1281-+void sp_document_clear_redo(SPDocument *document);
1282-+
1283-+void sp_document_child_added(SPDocument *doc, SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *ref);
1284-+void sp_document_child_removed(SPDocument *doc, SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *ref);
1285-+void sp_document_attr_changed(SPDocument *doc, SPObject *object, const gchar *key, const gchar *oldval, const gchar *newval);
1286-+void sp_document_content_changed(SPDocument *doc, SPObject *object, const gchar *oldcontent, const gchar *newcontent);
1287-+void sp_document_order_changed(SPDocument *doc, SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *oldref, Inkscape::XML::Node *newref);
1288-+
1289-+/* Object modification root handler */
1290-+void sp_document_request_modified(SPDocument *doc);
1291-+gint sp_document_ensure_up_to_date(SPDocument *doc);
1292-+
1293-+/* Save all previous actions to stack, as one undo step */
1294-+void sp_document_done(SPDocument *document, unsigned int event_type, Glib::ustring event_description);
1295-+void sp_document_maybe_done(SPDocument *document, const gchar *keyconst, unsigned int event_type, Glib::ustring event_description);
1296-+void sp_document_reset_key(Inkscape::Application *inkscape, SPDesktop *desktop, GtkObject *base);
1297-+
1298-+/* Cancel (and revert) current unsaved actions */
1299-+void sp_document_cancel(SPDocument *document);
1300-+
1301-+/* Undo and redo */
1302-+gboolean sp_document_undo(SPDocument *document);
1303-+gboolean sp_document_redo(SPDocument *document);
1304-+
1305-+/* Resource management */
1306-+gboolean sp_document_add_resource(SPDocument *document, const gchar *key, SPObject *object);
1307-+gboolean sp_document_remove_resource(SPDocument *document, const gchar *key, SPObject *object);
1308-+const GSList *sp_document_get_resource_list(SPDocument *document, const gchar *key);
1309-+sigc::connection sp_document_resources_changed_connect(SPDocument *document, const gchar *key, SPDocument::ResourcesChangedSignal::slot_type slot);
1310-+
1311-+
1312-+/*
1313-+ * Ideas: How to overcome style invalidation nightmare
1314-+ *
1315-+ * 1. There is reference request dictionary, that contains
1316-+ * objects (styles) needing certain id. Object::build checks
1317-+ * final id against it, and invokes necesary methods
1318-+ *
1319-+ * 2. Removing referenced object is simply prohibited -
1320-+ * needs analyse, how we can deal with situations, where
1321-+ * we simply want to ungroup etc. - probably we need
1322-+ * Repr::reparent method :( [Or was it ;)]
1323-+ *
1324-+ */
1325-+
1326-+/*
1327-+ * Misc
1328-+ */
1329-+
1330-+GSList *sp_document_items_in_box(SPDocument *document, unsigned int dkey, Geom::Rect const &box);
1331-+GSList *sp_document_partial_items_in_box(SPDocument *document, unsigned int dkey, Geom::Rect const &box);
1332-+SPItem *sp_document_item_from_list_at_point_bottom(unsigned int dkey, SPGroup *group, const GSList *list, Geom::Point const p, bool take_insensitive = false);
1333-+SPItem *sp_document_item_at_point (SPDocument *document, unsigned int key, Geom::Point const p, gboolean into_groups, SPItem *upto = NULL);
1334-+GSList *sp_document_items_at_points(SPDocument *document, unsigned const key, std::vector<Geom::Point> points);
1335-+SPItem *sp_document_group_at_point (SPDocument *document, unsigned int key, Geom::Point const p);
1336-+
1337-+void sp_document_set_uri(SPDocument *document, gchar const *uri);
1338-+void sp_document_change_uri_and_hrefs(SPDocument *document, gchar const *uri);
1339-+
1340-+void sp_document_resized_signal_emit(SPDocument *doc, gdouble width, gdouble height);
1341-+
1342-+unsigned int vacuum_document(SPDocument *document);
1343-+
1344-+
1345-+#endif
1346-+
1347-+/*
1348-+ Local Variables:
1349-+ mode:c++
1350-+ c-file-style:"stroustrup"
1351-+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
1352-+ indent-tabs-mode:nil
1353-+ fill-column:99
1354-+ End:
1355-+*/
1356-+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
1357-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/draw-context.h inkscape-0.48.1/src/draw-context.h
1358---- inkscape-0.48.1~/src/draw-context.h 2010-07-13 04:48:40.000000000 +0100
1359-+++ inkscape-0.48.1/src/draw-context.h 2011-05-01 00:56:19.601250878 +0100
1360-@@ -14,6 +14,7 @@
1361- * Released under GNU GPL
1362- */
1363-
1364-+#include <stddef.h>
1365- #include <sigc++/sigc++.h>
1366- #include "event-context.h"
1367- #include <forward.h>
1368-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/extension/timer.h inkscape-0.48.1/src/extension/timer.h
1369---- inkscape-0.48.1~/src/extension/timer.h 2010-07-13 04:48:40.000000000 +0100
1370-+++ inkscape-0.48.1/src/extension/timer.h 2011-05-01 00:56:19.601250878 +0100
1371-@@ -13,6 +13,7 @@
1372- #ifndef INKSCAPE_EXTENSION_TIMER_H__
1373- #define INKSCAPE_EXTENSION_TIMER_H__
1374-
1375-+#include <stddef.h>
1376- #include <sigc++/sigc++.h>
1377- #include <glibmm/timeval.h>
1378- #include "extension-forward.h"
1379-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/flood-context.h inkscape-0.48.1/src/flood-context.h
1380---- inkscape-0.48.1~/src/flood-context.h 2010-07-13 04:48:40.000000000 +0100
1381-+++ inkscape-0.48.1/src/flood-context.h 2011-05-01 00:56:19.601250878 +0100
1382-@@ -11,6 +11,7 @@
1383- * Released under GNU GPL
1384- */
1385-
1386-+#include <stddef.h>
1387- #include <sigc++/sigc++.h>
1388- #include <gtk/gtk.h>
1389- #include "event-context.h"
1390-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/gc-alloc.h inkscape-0.48.1/src/gc-alloc.h
1391---- inkscape-0.48.1~/src/gc-alloc.h 2010-07-13 04:48:40.000000000 +0100
1392-+++ inkscape-0.48.1/src/gc-alloc.h 2011-05-01 00:56:19.601250878 +0100
1393-@@ -16,6 +16,7 @@
1394- #define SEEN_INKSCAPE_GC_ALLOC_H
1395-
1396- #include <limits>
1397-+#include <cstddef>
1398- #include "gc-core.h"
1399-
1400- namespace Inkscape {
1401-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/gc-finalized.h inkscape-0.48.1/src/gc-finalized.h
1402---- inkscape-0.48.1~/src/gc-finalized.h 2010-07-13 04:48:40.000000000 +0100
1403-+++ inkscape-0.48.1/src/gc-finalized.h 2011-05-01 00:56:19.601250878 +0100
1404-@@ -17,6 +17,7 @@
1405- #define SEEN_INKSCAPE_GC_FINALIZED_H
1406-
1407- #include <new>
1408-+#include <cstddef>
1409- #include "gc-core.h"
1410-
1411- namespace Inkscape {
1412-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/gc.cpp inkscape-0.48.1/src/gc.cpp
1413---- inkscape-0.48.1~/src/gc.cpp 2010-07-13 04:48:40.000000000 +0100
1414-+++ inkscape-0.48.1/src/gc.cpp 2011-05-01 00:56:19.601250878 +0100
1415-@@ -16,6 +16,7 @@
1416- #include <glib/gmessages.h>
1417- #include <sigc++/functors/ptr_fun.h>
1418- #include <glibmm/main.h>
1419-+#include <cstddef>
1420-
1421- namespace Inkscape {
1422- namespace GC {
1423-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/gradient-context.h inkscape-0.48.1/src/gradient-context.h
1424---- inkscape-0.48.1~/src/gradient-context.h 2010-07-13 04:48:40.000000000 +0100
1425-+++ inkscape-0.48.1/src/gradient-context.h 2011-05-01 00:56:19.601250878 +0100
1426-@@ -15,6 +15,7 @@
1427- * Released under GNU GPL
1428- */
1429-
1430-+#include <stddef.h>
1431- #include <sigc++/sigc++.h>
1432- #include "event-context.h"
1433-
1434-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/gradient-drag.h inkscape-0.48.1/src/gradient-drag.h
1435---- inkscape-0.48.1~/src/gradient-drag.h 2010-08-04 17:45:00.000000000 +0100
1436-+++ inkscape-0.48.1/src/gradient-drag.h 2011-05-01 00:56:19.601250878 +0100
1437-@@ -15,6 +15,7 @@
1438- */
1439-
1440- #include <glib/gslist.h>
1441-+#include <stddef.h>
1442- #include <sigc++/sigc++.h>
1443- #include <vector>
1444-
1445-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/knot.h inkscape-0.48.1/src/knot.h
1446---- inkscape-0.48.1~/src/knot.h 2010-07-13 04:48:40.000000000 +0100
1447-+++ inkscape-0.48.1/src/knot.h 2011-05-01 00:56:19.601250878 +0100
1448-@@ -20,6 +20,7 @@
1449- #include "forward.h"
1450- #include <2geom/point.h>
1451- #include "knot-enums.h"
1452-+#include <stddef.h>
1453- #include <sigc++/sigc++.h>
1454-
1455- class SPKnot;
1456-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/knot.h.orig inkscape-0.48.1/src/knot.h.orig
1457---- inkscape-0.48.1~/src/knot.h.orig 1970-01-01 01:00:00.000000000 +0100
1458-+++ inkscape-0.48.1/src/knot.h.orig 2010-07-13 04:48:40.000000000 +0100
1459-@@ -0,0 +1,192 @@
1460-+#ifndef __SP_KNOT_H__
1461-+#define __SP_KNOT_H__
1462-+
1463-+/** \file
1464-+ * Declarations for SPKnot: Desktop-bound visual control object.
1465-+ */
1466-+/*
1467-+ * Authors:
1468-+ * Lauris Kaplinski <lauris@kaplinski.com>
1469-+ *
1470-+ * Copyright (C) 1999-2002 authors
1471-+ * Copyright (C) 2001-2002 Ximian, Inc.
1472-+ *
1473-+ * Released under GNU GPL, read the file 'COPYING' for more information
1474-+ */
1475-+
1476-+#include <gdk/gdk.h>
1477-+#include <gtk/gtkenums.h>
1478-+#include "display/display-forward.h"
1479-+#include "forward.h"
1480-+#include <2geom/point.h>
1481-+#include "knot-enums.h"
1482-+#include <sigc++/sigc++.h>
1483-+
1484-+class SPKnot;
1485-+class SPKnotClass;
1486-+
1487-+#define SP_TYPE_KNOT (sp_knot_get_type())
1488-+#define SP_KNOT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SP_TYPE_KNOT, SPKnot))
1489-+#define SP_KNOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SP_TYPE_KNOT, SPKnotClass))
1490-+#define SP_IS_KNOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SP_TYPE_KNOT))
1491-+#define SP_IS_KNOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SP_TYPE_KNOT))
1492-+
1493-+/**
1494-+ * Desktop-bound visual control object.
1495-+ *
1496-+ * A knot is a draggable object, with callbacks to change something by
1497-+ * dragging it, visuably represented by a canvas item (mostly square).
1498-+ */
1499-+struct SPKnot : GObject {
1500-+ SPDesktop *desktop; /**< Desktop we are on. */
1501-+ SPCanvasItem *item; /**< Our CanvasItem. */
1502-+ guint flags;
1503-+
1504-+ guint size; /**< Always square. */
1505-+ Geom::Point pos; /**< Our desktop coordinates. */
1506-+ Geom::Point grabbed_rel_pos; /**< Grabbed relative position. */
1507-+ Geom::Point drag_origin; /**< Origin of drag. */
1508-+ GtkAnchorType anchor; /**< Anchor. */
1509-+
1510-+ SPKnotShapeType shape; /**< Shape type. */
1511-+ SPKnotModeType mode;
1512-+
1513-+ guint32 fill[SP_KNOT_VISIBLE_STATES];
1514-+ guint32 stroke[SP_KNOT_VISIBLE_STATES];
1515-+ guchar *image[SP_KNOT_VISIBLE_STATES];
1516-+
1517-+ GdkCursor *cursor[SP_KNOT_VISIBLE_STATES];
1518-+
1519-+ GdkCursor *saved_cursor;
1520-+ gpointer pixbuf;
1521-+
1522-+ gchar *tip;
1523-+
1524-+ gulong _event_handler_id;
1525-+
1526-+ double pressure; /**< The tablet pen pressure when the knot is being dragged. */
1527-+
1528-+ // C++ signals
1529-+ /**
1530-+ sigc::signal<void, Geom::Point const &, Geom::Point const &, guint> _moved_signal;
1531-+ sigc::signal<void, guint> _click_signal;
1532-+ sigc::signal<Geom::Point> _ungrabbed_signal;
1533-+ **/
1534-+ sigc::signal<void, SPKnot *, Geom::Point const &, guint> _moved_signal;
1535-+ sigc::signal<void, SPKnot *, guint> _click_signal;
1536-+ sigc::signal<void, SPKnot *> _ungrabbed_signal;
1537-+
1538-+ //TODO: all the members above should eventualle become private, accessible via setters/getters
1539-+ inline void setSize (guint i) {size = i;}
1540-+ inline void setShape (guint i) {shape = (SPKnotShapeType) i;}
1541-+ inline void setAnchor (guint i) {anchor = (GtkAnchorType) i;}
1542-+ inline void setMode (guint i) {mode = (SPKnotModeType) i;}
1543-+ inline void setPixbuf (gpointer p) {pixbuf = p;}
1544-+ inline void setFill (guint32 normal, guint32 mouseover, guint32 dragging) {
1545-+ fill[SP_KNOT_STATE_NORMAL] = normal;
1546-+ fill[SP_KNOT_STATE_MOUSEOVER] = mouseover;
1547-+ fill[SP_KNOT_STATE_DRAGGING] = dragging;
1548-+ }
1549-+ inline void setStroke (guint32 normal, guint32 mouseover, guint32 dragging) {
1550-+ stroke[SP_KNOT_STATE_NORMAL] = normal;
1551-+ stroke[SP_KNOT_STATE_MOUSEOVER] = mouseover;
1552-+ stroke[SP_KNOT_STATE_DRAGGING] = dragging;
1553-+ }
1554-+ inline void setImage (guchar* normal, guchar* mouseover, guchar* dragging) {
1555-+ image[SP_KNOT_STATE_NORMAL] = normal;
1556-+ image[SP_KNOT_STATE_MOUSEOVER] = mouseover;
1557-+ image[SP_KNOT_STATE_DRAGGING] = dragging;
1558-+ }
1559-+ inline void setCursor (GdkCursor* normal, GdkCursor* mouseover, GdkCursor* dragging) {
1560-+ if (cursor[SP_KNOT_STATE_NORMAL]) {
1561-+ gdk_cursor_unref(cursor[SP_KNOT_STATE_NORMAL]);
1562-+ }
1563-+ cursor[SP_KNOT_STATE_NORMAL] = normal;
1564-+ if (normal) {
1565-+ gdk_cursor_ref(normal);
1566-+ }
1567-+
1568-+ if (cursor[SP_KNOT_STATE_MOUSEOVER]) {
1569-+ gdk_cursor_unref(cursor[SP_KNOT_STATE_MOUSEOVER]);
1570-+ }
1571-+ cursor[SP_KNOT_STATE_MOUSEOVER] = mouseover;
1572-+ if (mouseover) {
1573-+ gdk_cursor_ref(mouseover);
1574-+ }
1575-+
1576-+ if (cursor[SP_KNOT_STATE_DRAGGING]) {
1577-+ gdk_cursor_unref(cursor[SP_KNOT_STATE_DRAGGING]);
1578-+ }
1579-+ cursor[SP_KNOT_STATE_DRAGGING] = dragging;
1580-+ if (dragging) {
1581-+ gdk_cursor_ref(dragging);
1582-+ }
1583-+ }
1584-+
1585-+};
1586-+
1587-+/// The SPKnot vtable.
1588-+struct SPKnotClass {
1589-+ GObjectClass parent_class;
1590-+ gint (* event) (SPKnot *knot, GdkEvent *event);
1591-+
1592-+ /*
1593-+ * These are unconditional.
1594-+ */
1595-+
1596-+ void (* clicked) (SPKnot *knot, guint state);
1597-+ void (* doubleclicked) (SPKnot *knot, guint state);
1598-+ void (* grabbed) (SPKnot *knot, guint state);
1599-+ void (* ungrabbed) (SPKnot *knot, guint state);
1600-+ void (* moved) (SPKnot *knot, Geom::Point const &position, guint state);
1601-+ void (* stamped) (SPKnot *know, guint state);
1602-+
1603-+ /** Request knot to move to absolute position. */
1604-+ bool (* request) (SPKnot *knot, Geom::Point const &pos, guint state);
1605-+
1606-+ /** Find complex distance from knot to point. */
1607-+ gdouble (* distance) (SPKnot *knot, Geom::Point const &pos, guint state);
1608-+};
1609-+
1610-+GType sp_knot_get_type();
1611-+
1612-+SPKnot *sp_knot_new(SPDesktop *desktop, gchar const *tip = NULL);
1613-+
1614-+#define SP_KNOT_IS_VISIBLE(k) ((k->flags & SP_KNOT_VISIBLE) != 0)
1615-+#define SP_KNOT_IS_MOUSEOVER(k) ((k->flags & SP_KNOT_MOUSEOVER) != 0)
1616-+#define SP_KNOT_IS_DRAGGING(k) ((k->flags & SP_KNOT_DRAGGING) != 0)
1617-+#define SP_KNOT_IS_GRABBED(k) ((k->flags & SP_KNOT_GRABBED) != 0)
1618-+
1619-+void sp_knot_show(SPKnot *knot);
1620-+void sp_knot_hide(SPKnot *knot);
1621-+
1622-+void sp_knot_set_flag(SPKnot *knot, guint flag, bool set);
1623-+void sp_knot_update_ctrl(SPKnot *knot);
1624-+
1625-+void sp_knot_request_position(SPKnot *knot, Geom::Point const &pos, guint state);
1626-+gdouble sp_knot_distance(SPKnot *knot, Geom::Point const &p, guint state);
1627-+
1628-+void sp_knot_start_dragging(SPKnot *knot, Geom::Point const &p, gint x, gint y, guint32 etime);
1629-+
1630-+/** Moves knot and emits "moved" signal. */
1631-+void sp_knot_set_position(SPKnot *knot, Geom::Point const &p, guint state);
1632-+
1633-+/** Moves knot without any signal. */
1634-+void sp_knot_moveto(SPKnot *knot, Geom::Point const &p);
1635-+
1636-+void sp_knot_handler_request_position(GdkEvent *event, SPKnot *knot);
1637-+Geom::Point sp_knot_position(SPKnot const *knot);
1638-+
1639-+
1640-+#endif /* !__SP_KNOT_H__ */
1641-+
1642-+/*
1643-+ Local Variables:
1644-+ mode:c++
1645-+ c-file-style:"stroustrup"
1646-+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
1647-+ indent-tabs-mode:nil
1648-+ fill-column:99
1649-+ End:
1650-+*/
1651-+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
1652-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/libavoid/geomtypes.h inkscape-0.48.1/src/libavoid/geomtypes.h
1653---- inkscape-0.48.1~/src/libavoid/geomtypes.h 2010-07-13 04:48:40.000000000 +0100
1654-+++ inkscape-0.48.1/src/libavoid/geomtypes.h 2011-05-01 00:56:19.601250878 +0100
1655-@@ -29,6 +29,7 @@
1656- #ifndef AVOID_GEOMTYPES_H
1657- #define AVOID_GEOMTYPES_H
1658-
1659-+#include <cstddef>
1660- #include <vector>
1661- #include <utility>
1662-
1663-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/live_effects/lpeobject-reference.h inkscape-0.48.1/src/live_effects/lpeobject-reference.h
1664---- inkscape-0.48.1~/src/live_effects/lpeobject-reference.h 2010-07-13 04:48:40.000000000 +0100
1665-+++ inkscape-0.48.1/src/live_effects/lpeobject-reference.h 2011-05-01 00:56:19.601250878 +0100
1666-@@ -11,6 +11,7 @@
1667-
1668- #include <forward.h>
1669- #include <uri-references.h>
1670-+#include <stddef.h>
1671- #include <sigc++/sigc++.h>
1672-
1673- namespace Inkscape {
1674-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/live_effects/parameter/path-reference.h inkscape-0.48.1/src/live_effects/parameter/path-reference.h
1675---- inkscape-0.48.1~/src/live_effects/parameter/path-reference.h 2010-07-13 04:48:40.000000000 +0100
1676-+++ inkscape-0.48.1/src/live_effects/parameter/path-reference.h 2011-05-01 00:56:19.601250878 +0100
1677-@@ -11,6 +11,7 @@
1678-
1679- #include <forward.h>
1680- #include <uri-references.h>
1681-+#include <stddef.h>
1682- #include <sigc++/sigc++.h>
1683-
1684- class Path;
1685-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/live_effects/parameter/path-reference.h.orig inkscape-0.48.1/src/live_effects/parameter/path-reference.h.orig
1686---- inkscape-0.48.1~/src/live_effects/parameter/path-reference.h.orig 1970-01-01 01:00:00.000000000 +0100
1687-+++ inkscape-0.48.1/src/live_effects/parameter/path-reference.h.orig 2010-07-13 04:48:40.000000000 +0100
1688-@@ -0,0 +1,60 @@
1689-+#ifndef SEEN_LPE_PATH_REFERENCE_H
1690-+#define SEEN_LPE_PATH_REFERENCE_H
1691-+
1692-+/*
1693-+ * The reference corresponding to href of LPE PathParam.
1694-+ *
1695-+ * Copyright (C) 2008 Johan Engelen
1696-+ *
1697-+ * Released under GNU GPL, read the file 'COPYING' for more information.
1698-+ */
1699-+
1700-+#include <forward.h>
1701-+#include <uri-references.h>
1702-+#include <sigc++/sigc++.h>
1703-+
1704-+class Path;
1705-+
1706-+namespace Inkscape {
1707-+
1708-+namespace XML {
1709-+ struct Node;
1710-+}
1711-+
1712-+namespace LivePathEffect {
1713-+
1714-+
1715-+class PathReference : public Inkscape::URIReference {
1716-+public:
1717-+ PathReference(SPObject *owner) : URIReference(owner) {}
1718-+
1719-+ SPItem *getObject() const {
1720-+ return (SPItem *)URIReference::getObject();
1721-+ }
1722-+
1723-+protected:
1724-+ virtual bool _acceptObject(SPObject * const obj) const;
1725-+
1726-+private:
1727-+ PathReference(const PathReference&);
1728-+ PathReference& operator=(const PathReference&);
1729-+};
1730-+
1731-+} // namespace LivePathEffect
1732-+
1733-+} // namespace Inkscape
1734-+
1735-+
1736-+
1737-+#endif /* !SEEN_LPE_PATH_REFERENCE_H */
1738-+
1739-+/*
1740-+ Local Variables:
1741-+ mode:c++
1742-+ c-file-style:"stroustrup"
1743-+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
1744-+ indent-tabs-mode:nil
1745-+ fill-column:99
1746-+ End:
1747-+*/
1748-+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
1749-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/live_effects/parameter/path.h inkscape-0.48.1/src/live_effects/parameter/path.h
1750---- inkscape-0.48.1~/src/live_effects/parameter/path.h 2010-07-13 04:48:40.000000000 +0100
1751-+++ inkscape-0.48.1/src/live_effects/parameter/path.h 2011-05-01 00:56:19.601250878 +0100
1752-@@ -16,6 +16,7 @@
1753-
1754- #include "live_effects/parameter/parameter.h"
1755- #include "live_effects/parameter/path-reference.h"
1756-+#include <stddef.h>
1757- #include <sigc++/sigc++.h>
1758-
1759- namespace Inkscape {
1760-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/message-stack.h inkscape-0.48.1/src/message-stack.h
1761---- inkscape-0.48.1~/src/message-stack.h 2010-07-13 04:48:40.000000000 +0100
1762-+++ inkscape-0.48.1/src/message-stack.h 2011-05-01 00:56:19.601250878 +0100
1763-@@ -14,6 +14,7 @@
1764- #ifndef SEEN_INKSCAPE_MESSAGE_STACK_H
1765- #define SEEN_INKSCAPE_MESSAGE_STACK_H
1766-
1767-+#include <stddef.h>
1768- #include <sigc++/sigc++.h>
1769- #include <glib.h>
1770- #include <stdarg.h>
1771-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/object-hierarchy.h inkscape-0.48.1/src/object-hierarchy.h
1772---- inkscape-0.48.1~/src/object-hierarchy.h 2010-07-13 04:48:40.000000000 +0100
1773-+++ inkscape-0.48.1/src/object-hierarchy.h 2011-05-01 00:56:19.601250878 +0100
1774-@@ -14,6 +14,7 @@
1775-
1776- #include <exception>
1777- #include <list>
1778-+#include <stddef.h>
1779- #include <sigc++/connection.h>
1780- #include <sigc++/signal.h>
1781- #include <glib/gmessages.h>
1782-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/persp3d-reference.h inkscape-0.48.1/src/persp3d-reference.h
1783---- inkscape-0.48.1~/src/persp3d-reference.h 2010-07-13 04:48:40.000000000 +0100
1784-+++ inkscape-0.48.1/src/persp3d-reference.h 2011-05-01 00:56:19.601250878 +0100
1785-@@ -11,6 +11,7 @@
1786- */
1787-
1788- #include "uri-references.h"
1789-+#include <stddef.h>
1790- #include <sigc++/sigc++.h>
1791- #include "persp3d.h"
1792-
1793-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/rect-context.h inkscape-0.48.1/src/rect-context.h
1794---- inkscape-0.48.1~/src/rect-context.h 2010-07-13 04:48:40.000000000 +0100
1795-+++ inkscape-0.48.1/src/rect-context.h 2011-05-01 00:56:19.601250878 +0100
1796-@@ -14,6 +14,7 @@
1797- * Released under GNU GPL
1798- */
1799-
1800-+#include <stddef.h>
1801- #include <sigc++/sigc++.h>
1802- #include "event-context.h"
1803- #include "libnr/nr-point.h"
1804-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/selcue.h inkscape-0.48.1/src/selcue.h
1805---- inkscape-0.48.1~/src/selcue.h 2010-07-13 04:48:40.000000000 +0100
1806-+++ inkscape-0.48.1/src/selcue.h 2011-05-01 00:56:19.601250878 +0100
1807-@@ -14,6 +14,7 @@
1808- */
1809-
1810- #include <list>
1811-+#include <stddef.h>
1812- #include <sigc++/sigc++.h>
1813-
1814- class SPDesktop;
1815-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/selection-describer.h inkscape-0.48.1/src/selection-describer.h
1816---- inkscape-0.48.1~/src/selection-describer.h 2010-07-13 04:48:40.000000000 +0100
1817-+++ inkscape-0.48.1/src/selection-describer.h 2011-05-01 00:56:19.601250878 +0100
1818-@@ -12,6 +12,7 @@
1819- #ifndef SEEN_INKSCAPE_SELECTION_DESCRIPTION_HANDLER_H
1820- #define SEEN_INKSCAPE_SELECTION_DESCRIPTION_HANDLER_H
1821-
1822-+#include <stddef.h>
1823- #include <sigc++/sigc++.h>
1824- #include "message-context.h"
1825-
1826-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/selection.h inkscape-0.48.1/src/selection.h
1827---- inkscape-0.48.1~/src/selection.h 2010-07-13 04:48:40.000000000 +0100
1828-+++ inkscape-0.48.1/src/selection.h 2011-05-01 00:56:19.601250878 +0100
1829-@@ -19,6 +19,7 @@
1830- #include <vector>
1831- #include <map>
1832- #include <list>
1833-+#include <stddef.h>
1834- #include <sigc++/sigc++.h>
1835-
1836- //#include "libnr/nr-rect.h"
1837-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/seltrans.h inkscape-0.48.1/src/seltrans.h
1838---- inkscape-0.48.1~/src/seltrans.h 2010-07-13 04:48:40.000000000 +0100
1839-+++ inkscape-0.48.1/src/seltrans.h 2011-05-01 00:56:19.601250878 +0100
1840-@@ -15,6 +15,7 @@
1841- * Released under GNU GPL, read the file 'COPYING' for more information
1842- */
1843-
1844-+#include <stddef.h>
1845- #include <sigc++/sigc++.h>
1846- #include <2geom/point.h>
1847- #include <2geom/matrix.h>
1848-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/seltrans.h.orig inkscape-0.48.1/src/seltrans.h.orig
1849---- inkscape-0.48.1~/src/seltrans.h.orig 1970-01-01 01:00:00.000000000 +0100
1850-+++ inkscape-0.48.1/src/seltrans.h.orig 2010-07-13 04:48:40.000000000 +0100
1851-@@ -0,0 +1,196 @@
1852-+#ifndef __SELTRANS_H__
1853-+#define __SELTRANS_H__
1854-+
1855-+/*
1856-+ * Helper object for transforming selected items
1857-+ *
1858-+ * Authors:
1859-+ * Lauris Kaplinski <lauris@kaplinski.com>
1860-+ * Carl Hetherington <inkscape@carlh.net>
1861-+ * Diederik van Lierop <mail@diedenrezi.nl>
1862-+ *
1863-+ * Copyright (C) 2006 Johan Engelen <johan@shouraizou.nl>
1864-+ * Copyright (C) 1999-2002 Lauris Kaplinski
1865-+ *
1866-+ * Released under GNU GPL, read the file 'COPYING' for more information
1867-+ */
1868-+
1869-+#include <sigc++/sigc++.h>
1870-+#include <2geom/point.h>
1871-+#include <2geom/matrix.h>
1872-+#include <2geom/rect.h>
1873-+#include "knot.h"
1874-+#include "forward.h"
1875-+#include "selcue.h"
1876-+#include "message-context.h"
1877-+#include <vector>
1878-+#include "sp-item.h"
1879-+
1880-+struct SPKnot;
1881-+class SPDesktop;
1882-+class SPCanvasItem;
1883-+class SPSelTransHandle;
1884-+
1885-+namespace Inkscape
1886-+{
1887-+
1888-+Geom::Scale calcScaleFactors(Geom::Point const &initial_point, Geom::Point const &new_point, Geom::Point const &origin, bool const skew = false);
1889-+
1890-+namespace XML
1891-+{
1892-+ class Node;
1893-+}
1894-+
1895-+class SelTrans
1896-+{
1897-+public:
1898-+ SelTrans(SPDesktop *desktop);
1899-+ ~SelTrans();
1900-+
1901-+ Inkscape::MessageContext &messageContext() {
1902-+ return _message_context;
1903-+ }
1904-+
1905-+ void increaseState();
1906-+ void resetState();
1907-+ void setCenter(Geom::Point const &p);
1908-+ void grab(Geom::Point const &p, gdouble x, gdouble y, bool show_handles, bool translating);
1909-+ void transform(Geom::Matrix const &rel_affine, Geom::Point const &norm);
1910-+ void ungrab();
1911-+ void stamp();
1912-+ void moveTo(Geom::Point const &xy, guint state);
1913-+ void stretch(SPSelTransHandle const &handle, Geom::Point &pt, guint state);
1914-+ void scale(Geom::Point &pt, guint state);
1915-+ void skew(SPSelTransHandle const &handle, Geom::Point &pt, guint state);
1916-+ void rotate(Geom::Point &pt, guint state);
1917-+ gboolean scaleRequest(Geom::Point &pt, guint state);
1918-+ gboolean stretchRequest(SPSelTransHandle const &handle, Geom::Point &pt, guint state);
1919-+ gboolean skewRequest(SPSelTransHandle const &handle, Geom::Point &pt, guint state);
1920-+ gboolean rotateRequest(Geom::Point &pt, guint state);
1921-+ gboolean centerRequest(Geom::Point &pt, guint state);
1922-+
1923-+ gboolean handleRequest(SPKnot *knot, Geom::Point *position, guint state, SPSelTransHandle const &handle);
1924-+ void handleGrab(SPKnot *knot, guint state, SPSelTransHandle const &handle);
1925-+ void handleClick(SPKnot *knot, guint state, SPSelTransHandle const &handle);
1926-+ void handleNewEvent(SPKnot *knot, Geom::Point *position, guint state, SPSelTransHandle const &handle);
1927-+
1928-+ enum Show
1929-+ {
1930-+ SHOW_CONTENT,
1931-+ SHOW_OUTLINE
1932-+ };
1933-+
1934-+ void setShow(Show s) {
1935-+ _show = s;
1936-+ }
1937-+ bool isEmpty() {
1938-+ return _empty;
1939-+ }
1940-+ bool isGrabbed() {
1941-+ return _grabbed;
1942-+ }
1943-+ bool centerIsVisible() {
1944-+ return ( _chandle && SP_KNOT_IS_VISIBLE (_chandle) );
1945-+ }
1946-+
1947-+private:
1948-+ void _updateHandles();
1949-+ void _updateVolatileState();
1950-+ void _selChanged(Inkscape::Selection *selection);
1951-+ void _selModified(Inkscape::Selection *selection, guint flags);
1952-+ void _showHandles(SPKnot *knot[], SPSelTransHandle const handle[], gint num,
1953-+ gchar const *even_tip, gchar const *odd_tip);
1954-+ Geom::Point _getGeomHandlePos(Geom::Point const &visual_handle_pos);
1955-+ Geom::Point _calcAbsAffineDefault(Geom::Scale const default_scale);
1956-+ Geom::Point _calcAbsAffineGeom(Geom::Scale const geom_scale);
1957-+ void _keepClosestPointOnly(std::vector<Inkscape::SnapCandidatePoint> &points, const Geom::Point &reference);
1958-+ void _display_snapsource();
1959-+
1960-+ enum State {
1961-+ STATE_SCALE, //scale or stretch
1962-+ STATE_ROTATE //rotate or skew
1963-+ };
1964-+
1965-+ SPDesktop *_desktop;
1966-+
1967-+ std::vector<SPItem *> _items;
1968-+ std::vector<SPItem const *> _items_const;
1969-+ std::vector<Geom::Matrix> _items_affines;
1970-+ std::vector<Geom::Point> _items_centers;
1971-+
1972-+ std::vector<Inkscape::SnapCandidatePoint> _snap_points;
1973-+ std::vector<Inkscape::SnapCandidatePoint> _bbox_points; // the bbox point of the selection as a whole, i.e. max. 4 corners plus optionally some midpoints
1974-+ std::vector<Inkscape::SnapCandidatePoint> _bbox_points_for_translating; // the bbox points of each selected item, only to be used for translating
1975-+
1976-+ Inkscape::SelCue _selcue;
1977-+
1978-+ Inkscape::Selection *_selection;
1979-+ State _state;
1980-+ Show _show;
1981-+
1982-+ bool _grabbed;
1983-+ bool _show_handles;
1984-+ bool _empty;
1985-+ bool _changed;
1986-+
1987-+ SPItem::BBoxType _snap_bbox_type;
1988-+
1989-+ Geom::OptRect _bbox;
1990-+ Geom::OptRect _approximate_bbox;
1991-+ Geom::OptRect _geometric_bbox;
1992-+ gdouble _strokewidth;
1993-+
1994-+ Geom::Matrix _current_relative_affine;
1995-+ Geom::Matrix _absolute_affine;
1996-+ Geom::Matrix _relative_affine;
1997-+ /* According to Merriam - Webster's online dictionary
1998-+ * Affine: a transformation (as a translation, a rotation, or a uniform stretching) that carries straight
1999-+ * lines into straight lines and parallel lines into parallel lines but may alter distance between points
2000-+ * and angles between lines <affine geometry>
2001-+ */
2002-+
2003-+ Geom::Point _opposite; ///< opposite point to where a scale is taking place
2004-+ Geom::Point _opposite_for_specpoints;
2005-+ Geom::Point _opposite_for_bboxpoints;
2006-+ Geom::Point _origin_for_specpoints;
2007-+ Geom::Point _origin_for_bboxpoints;
2008-+
2009-+ gdouble _handle_x;
2010-+ gdouble _handle_y;
2011-+
2012-+ boost::optional<Geom::Point> _center;
2013-+ bool _center_is_set; ///< we've already set _center, no need to reread it from items
2014-+
2015-+ SPKnot *_shandle[8];
2016-+ SPKnot *_rhandle[8];
2017-+ SPKnot *_chandle;
2018-+ SPCanvasItem *_norm;
2019-+ SPCanvasItem *_grip;
2020-+ SPCanvasItem *_l[4];
2021-+ guint _sel_changed_id;
2022-+ guint _sel_modified_id;
2023-+ GSList *_stamp_cache;
2024-+
2025-+ Geom::Point _origin; ///< position of origin for transforms
2026-+ Geom::Point _point; ///< original position of the knot being used for the current transform
2027-+ Geom::Point _point_geom; ///< original position of the knot being used for the current transform
2028-+ Inkscape::MessageContext _message_context;
2029-+ sigc::connection _sel_changed_connection;
2030-+ sigc::connection _sel_modified_connection;
2031-+};
2032-+
2033-+}
2034-+
2035-+#endif
2036-+
2037-+
2038-+/*
2039-+ Local Variables:
2040-+ mode:c++
2041-+ c-file-style:"stroustrup"
2042-+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
2043-+ indent-tabs-mode:nil
2044-+ fill-column:99
2045-+ End:
2046-+*/
2047-+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
2048-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-conn-end-pair.h inkscape-0.48.1/src/sp-conn-end-pair.h
2049---- inkscape-0.48.1~/src/sp-conn-end-pair.h 2010-07-13 04:48:40.000000000 +0100
2050-+++ inkscape-0.48.1/src/sp-conn-end-pair.h 2011-05-01 00:56:19.611250878 +0100
2051-@@ -15,6 +15,7 @@
2052-
2053- #include "forward.h"
2054- #include "libnr/nr-point.h"
2055-+#include <stddef.h>
2056- #include <sigc++/connection.h>
2057- #include <sigc++/functors/slot.h>
2058- #include <sigc++/signal.h>
2059-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-conn-end.h inkscape-0.48.1/src/sp-conn-end.h
2060---- inkscape-0.48.1~/src/sp-conn-end.h 2010-07-13 04:48:40.000000000 +0100
2061-+++ inkscape-0.48.1/src/sp-conn-end.h 2011-05-01 00:56:19.611250878 +0100
2062-@@ -2,6 +2,7 @@
2063- #define SEEN_SP_CONN_END
2064-
2065- #include <glib/gtypes.h>
2066-+#include <stddef.h>
2067- #include <sigc++/connection.h>
2068-
2069- #include "sp-use-reference.h"
2070-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-gradient.h inkscape-0.48.1/src/sp-gradient.h
2071---- inkscape-0.48.1~/src/sp-gradient.h 2010-08-04 17:45:00.000000000 +0100
2072-+++ inkscape-0.48.1/src/sp-gradient.h 2011-05-01 00:56:19.611250878 +0100
2073-@@ -25,6 +25,7 @@
2074- #include "sp-gradient-units.h"
2075- #include "sp-gradient-vector.h"
2076-
2077-+#include <stddef.h>
2078- #include <sigc++/connection.h>
2079-
2080- struct SPGradientReference;
2081-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-object.h inkscape-0.48.1/src/sp-object.h
2082---- inkscape-0.48.1~/src/sp-object.h 2010-07-13 04:48:40.000000000 +0100
2083-+++ inkscape-0.48.1/src/sp-object.h 2011-05-01 00:56:19.611250878 +0100
2084-@@ -56,6 +56,7 @@
2085-
2086-
2087- #include <glib-object.h>
2088-+#include <stddef.h>
2089- #include <sigc++/connection.h>
2090- #include <sigc++/functors/slot.h>
2091- #include <sigc++/signal.h>
2092-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-object.h.orig inkscape-0.48.1/src/sp-object.h.orig
2093---- inkscape-0.48.1~/src/sp-object.h.orig 1970-01-01 01:00:00.000000000 +0100
2094-+++ inkscape-0.48.1/src/sp-object.h.orig 2010-07-13 04:48:40.000000000 +0100
2095-@@ -0,0 +1,587 @@
2096-+#ifndef SP_OBJECT_H_SEEN
2097-+#define SP_OBJECT_H_SEEN
2098-+
2099-+/** \file
2100-+ * Abstract base class for all nodes
2101-+ *
2102-+ * Authors:
2103-+ * Lauris Kaplinski <lauris@kaplinski.com>
2104-+ *
2105-+ * Copyright (C) 1999-2002 authors
2106-+ * Copyright (C) 2001-2002 Ximian, Inc.
2107-+ *
2108-+ * Released under GNU GPL, read the file 'COPYING' for more information
2109-+ */
2110-+
2111-+/* SPObject flags */
2112-+
2113-+/* Async modification flags */
2114-+#define SP_OBJECT_MODIFIED_FLAG (1 << 0)
2115-+#define SP_OBJECT_CHILD_MODIFIED_FLAG (1 << 1)
2116-+#define SP_OBJECT_PARENT_MODIFIED_FLAG (1 << 2)
2117-+#define SP_OBJECT_STYLE_MODIFIED_FLAG (1 << 3)
2118-+#define SP_OBJECT_VIEWPORT_MODIFIED_FLAG (1 << 4)
2119-+#define SP_OBJECT_USER_MODIFIED_FLAG_A (1 << 5)
2120-+#define SP_OBJECT_USER_MODIFIED_FLAG_B (1 << 6)
2121-+#define SP_OBJECT_USER_MODIFIED_FLAG_C (1 << 7)
2122-+
2123-+/* Conveneience */
2124-+#define SP_OBJECT_FLAGS_ALL 0xff
2125-+
2126-+/* Flags that mark object as modified */
2127-+/* Object, Child, Style, Viewport, User */
2128-+#define SP_OBJECT_MODIFIED_STATE (SP_OBJECT_FLAGS_ALL & ~(SP_OBJECT_PARENT_MODIFIED_FLAG))
2129-+
2130-+/* Flags that will propagate downstreams */
2131-+/* Parent, Style, Viewport, User */
2132-+#define SP_OBJECT_MODIFIED_CASCADE (SP_OBJECT_FLAGS_ALL & ~(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))
2133-+
2134-+/* Generic */
2135-+#define SP_OBJECT_IS_CLONED(o) (((SPObject *) (o))->cloned)
2136-+
2137-+/* Write flags */
2138-+#define SP_OBJECT_WRITE_BUILD (1 << 0)
2139-+#define SP_OBJECT_WRITE_EXT (1 << 1)
2140-+#define SP_OBJECT_WRITE_ALL (1 << 2)
2141-+
2142-+/* Convenience stuff */
2143-+#define SP_OBJECT_ID(o) (((SPObject *) (o))->getId())
2144-+#define SP_OBJECT_REPR(o) (((SPObject *) (o))->repr)
2145-+#define SP_OBJECT_DOCUMENT(o) (((SPObject *) (o))->document)
2146-+#define SP_OBJECT_PARENT(o) (((SPObject *) (o))->parent)
2147-+#define SP_OBJECT_NEXT(o) (((SPObject *) (o))->next)
2148-+#define SP_OBJECT_PREV(o) (sp_object_prev((SPObject *) (o)))
2149-+#define SP_OBJECT_HREFCOUNT(o) (((SPObject *) (o))->hrefcount)
2150-+#define SP_OBJECT_STYLE(o) (((SPObject *) (o))->style)
2151-+
2152-+
2153-+#include <glib-object.h>
2154-+#include <sigc++/connection.h>
2155-+#include <sigc++/functors/slot.h>
2156-+#include <sigc++/signal.h>
2157-+
2158-+#include "forward.h"
2159-+#include "version.h"
2160-+#include "util/forward-pointer-iterator.h"
2161-+
2162-+namespace Inkscape {
2163-+namespace XML {
2164-+class Node;
2165-+class Document;
2166-+}
2167-+}
2168-+
2169-+
2170-+typedef enum {
2171-+ SP_NO_EXCEPTION,
2172-+ SP_INDEX_SIZE_ERR,
2173-+ SP_DOMSTRING_SIZE_ERR,
2174-+ SP_HIERARCHY_REQUEST_ERR,
2175-+ SP_WRONG_DOCUMENT_ERR,
2176-+ SP_INVALID_CHARACTER_ERR,
2177-+ SP_NO_DATA_ALLOWED_ERR,
2178-+ SP_NO_MODIFICATION_ALLOWED_ERR,
2179-+ SP_NOT_FOUND_ERR,
2180-+ SP_NOT_SUPPORTED_ERR,
2181-+ SP_INUSE_ATTRIBUTE_ERR,
2182-+ SP_INVALID_STATE_ERR,
2183-+ SP_SYNTAX_ERR,
2184-+ SP_INVALID_MODIFICATION_ERR,
2185-+ SP_NAMESPACE_ERR,
2186-+ SP_INVALID_ACCESS_ERR
2187-+} SPExceptionType;
2188-+
2189-+class SPException;
2190-+
2191-+/// An attempt to implement exceptions, unused?
2192-+struct SPException {
2193-+ SPExceptionType code;
2194-+};
2195-+
2196-+#define SP_EXCEPTION_INIT(ex) {(ex)->code = SP_NO_EXCEPTION;}
2197-+#define SP_EXCEPTION_IS_OK(ex) (!(ex) || ((ex)->code == SP_NO_EXCEPTION))
2198-+
2199-+class SPCtx;
2200-+
2201-+/// Unused
2202-+struct SPCtx {
2203-+ unsigned int flags;
2204-+};
2205-+
2206-+enum {
2207-+ SP_XML_SPACE_DEFAULT,
2208-+ SP_XML_SPACE_PRESERVE
2209-+};
2210-+
2211-+class SPIXmlSpace;
2212-+
2213-+/// Internal class consisting of two bits.
2214-+struct SPIXmlSpace {
2215-+ guint set : 1;
2216-+ guint value : 1;
2217-+};
2218-+
2219-+class SPObject;
2220-+
2221-+/*
2222-+ * Refcounting
2223-+ *
2224-+ * Owner is here for debug reasons, you can set it to NULL safely
2225-+ * Ref should return object, NULL is error, unref return always NULL
2226-+ */
2227-+
2228-+SPObject *sp_object_ref(SPObject *object, SPObject *owner=NULL);
2229-+SPObject *sp_object_unref(SPObject *object, SPObject *owner=NULL);
2230-+
2231-+SPObject *sp_object_href(SPObject *object, gpointer owner);
2232-+SPObject *sp_object_hunref(SPObject *object, gpointer owner);
2233-+
2234-+/// A refcounting tree node object.
2235-+struct SPObject : public GObject {
2236-+ enum CollectionPolicy {
2237-+ COLLECT_WITH_PARENT,
2238-+ ALWAYS_COLLECT
2239-+ };
2240-+
2241-+ unsigned int cloned : 1;
2242-+ unsigned int uflags : 8;
2243-+ unsigned int mflags : 8;
2244-+ SPIXmlSpace xml_space;
2245-+ unsigned int hrefcount; /* number of xlink:href references */
2246-+ unsigned int _total_hrefcount; /* our hrefcount + total descendants */
2247-+ SPDocument *document; /* Document we are part of */
2248-+ SPObject *parent; /* Our parent (only one allowed) */
2249-+ SPObject *children; /* Our children */
2250-+ SPObject *_last_child; /* Remembered last child */
2251-+ SPObject *next; /* Next object in linked list */
2252-+ Inkscape::XML::Node *repr; /* Our xml representation */
2253-+
2254-+private:
2255-+ gchar *id; /* Our very own unique id */
2256-+public:
2257-+
2258-+ /**
2259-+ * Returns the objects current ID string.
2260-+ */
2261-+ gchar const* getId() const;
2262-+
2263-+ /** @brief cleans up an SPObject, releasing its references and
2264-+ * requesting that references to it be released
2265-+ */
2266-+ void releaseReferences();
2267-+
2268-+ /** @brief connects to the release request signal
2269-+ *
2270-+ * @param slot the slot to connect
2271-+ *
2272-+ * @returns the sigc::connection formed
2273-+ */
2274-+ sigc::connection connectRelease(sigc::slot<void, SPObject *> slot) {
2275-+ return _release_signal.connect(slot);
2276-+ }
2277-+
2278-+ /**
2279-+ * Represents the style properties, whether from presentation attributes, the <tt>style</tt>
2280-+ * attribute, or inherited.
2281-+ *
2282-+ * sp_object_private_set doesn't handle SP_ATTR_STYLE or any presentation attributes at the
2283-+ * time of writing, so this is probably NULL for all SPObject's that aren't an SPItem.
2284-+ *
2285-+ * However, this gives rise to the bugs mentioned in sp_object_get_style_property.
2286-+ * Note that some non-SPItem SPObject's, such as SPStop, do need styling information,
2287-+ * and need to inherit properties even through other non-SPItem parents like \<defs\>.
2288-+ */
2289-+ SPStyle *style;
2290-+
2291-+ /// Switch containing next() method.
2292-+ struct ParentIteratorStrategy {
2293-+ static SPObject const *next(SPObject const *object) {
2294-+ return object->parent;
2295-+ }
2296-+ };
2297-+ /// Switch containing next() method.
2298-+ struct SiblingIteratorStrategy {
2299-+ static SPObject const *next(SPObject const *object) {
2300-+ return object->next;
2301-+ }
2302-+ };
2303-+
2304-+ typedef Inkscape::Util::ForwardPointerIterator<SPObject, ParentIteratorStrategy> ParentIterator;
2305-+ typedef Inkscape::Util::ForwardPointerIterator<SPObject const, ParentIteratorStrategy> ConstParentIterator;
2306-+ typedef Inkscape::Util::ForwardPointerIterator<SPObject, SiblingIteratorStrategy> SiblingIterator;
2307-+ typedef Inkscape::Util::ForwardPointerIterator<SPObject const, SiblingIteratorStrategy> ConstSiblingIterator;
2308-+
2309-+ bool isSiblingOf(SPObject const *object) const {
2310-+ g_return_val_if_fail(object != NULL, false);
2311-+ return this->parent && this->parent == object->parent;
2312-+ }
2313-+ bool isAncestorOf(SPObject const *object) const;
2314-+
2315-+ SPObject const *nearestCommonAncestor(SPObject const *object) const;
2316-+ /* A non-const version can be similarly constructed if you want one.
2317-+ * (Don't just cast away the constness, which would be ill-formed.) */
2318-+
2319-+ SPObject *getNext();
2320-+ SPObject *getPrev();
2321-+
2322-+ bool hasChildren() const { return ( children != NULL ); }
2323-+
2324-+ SPObject *firstChild() { return children; }
2325-+ SPObject const *firstChild() const { return children; }
2326-+ SPObject *lastChild() { return _last_child; }
2327-+ SPObject const *lastChild() const { return _last_child; }
2328-+
2329-+ enum Action { ActionGeneral, ActionBBox, ActionUpdate, ActionShow };
2330-+ /** @brief Retrieves children as a GSList */
2331-+ GSList *childList(bool add_ref, Action action = ActionGeneral);
2332-+
2333-+ SPObject *appendChildRepr(Inkscape::XML::Node *repr);
2334-+
2335-+ /** @brief Gets the author-visible label for this object. */
2336-+ gchar const *label() const;
2337-+ /** @brief Returns a default label for this object. */
2338-+ gchar const *defaultLabel() const;
2339-+ /** @brief Sets the author-visible label for this object.
2340-+ *
2341-+ * Sets the author-visible label for the object.
2342-+ *
2343-+ * @param label the new label
2344-+ */
2345-+ void setLabel(gchar const *label);
2346-+
2347-+ /** Retrieves the title of this object */
2348-+ gchar *title() const;
2349-+ /** Sets the title of this object */
2350-+ bool setTitle(gchar const *title, bool verbatim=false);
2351-+
2352-+ /** Retrieves the description of this object */
2353-+ gchar *desc() const;
2354-+ /** Sets the description of this object */
2355-+ bool setDesc(gchar const *desc, bool verbatim=false);
2356-+
2357-+ /** @brief Set the policy under which this object will be
2358-+ * orphan-collected.
2359-+ *
2360-+ * Orphan-collection is the process of deleting all objects which no longer have
2361-+ * hyper-references pointing to them. The policy determines when this happens. Many objects
2362-+ * should not be deleted simply because they are no longer referred to; other objects (like
2363-+ * "intermediate" gradients) are more or less throw-away and should always be collected when no
2364-+ * longer in use.
2365-+ *
2366-+ * Along these lines, there are currently two orphan-collection policies:
2367-+ *
2368-+ * COLLECT_WITH_PARENT - don't worry about the object's hrefcount;
2369-+ * if its parent is collected, this object
2370-+ * will be too
2371-+ *
2372-+ * COLLECT_ALWAYS - always collect the object as soon as its
2373-+ * hrefcount reaches zero
2374-+ *
2375-+ * @returns the current collection policy in effect for this object
2376-+ */
2377-+ CollectionPolicy collectionPolicy() const { return _collection_policy; }
2378-+
2379-+ /** @brief Sets the orphan-collection policy in effect for this object.
2380-+ *
2381-+ * @see SPObject::collectionPolicy
2382-+ *
2383-+ * @param policy the new policy to adopt
2384-+ */
2385-+ void setCollectionPolicy(CollectionPolicy policy) {
2386-+ _collection_policy = policy;
2387-+ }
2388-+
2389-+ /** @brief Requests a later automatic call to collectOrphan().
2390-+ *
2391-+ * This method requests that collectOrphan() be called during the document update cycle,
2392-+ * deleting the object if it is no longer used.
2393-+ *
2394-+ * If the current collection policy is COLLECT_WITH_PARENT, this function has no effect.
2395-+ *
2396-+ * @see SPObject::collectOrphan
2397-+ */
2398-+ void requestOrphanCollection();
2399-+
2400-+ /** @brief Unconditionally delete the object if it is not referenced.
2401-+ *
2402-+ * Unconditionally delete the object if there are no outstanding hyper-references to it.
2403-+ * Observers are not notified of the object's deletion (at the SPObject level; XML tree
2404-+ * notifications still fire).
2405-+ *
2406-+ * @see SPObject::deleteObject
2407-+ */
2408-+ void collectOrphan() {
2409-+ if ( _total_hrefcount == 0 ) {
2410-+ deleteObject(false);
2411-+ }
2412-+ }
2413-+
2414-+ /** @brief Check if object is referenced by any other object.
2415-+ */
2416-+ bool isReferenced() { return ( _total_hrefcount > 0 ); }
2417-+
2418-+ /** @brief Deletes an object.
2419-+ *
2420-+ * Detaches the object's repr, and optionally sends notification that the object has been
2421-+ * deleted.
2422-+ *
2423-+ * @param propagate notify observers that the object has been deleted?
2424-+ *
2425-+ * @param propagate_descendants notify observers of children that they have been deleted?
2426-+ */
2427-+ void deleteObject(bool propagate, bool propagate_descendants);
2428-+
2429-+ /** @brief Deletes on object.
2430-+ *
2431-+ * @param propagate Notify observers of this object and its children that they have been
2432-+ * deleted?
2433-+ */
2434-+ void deleteObject(bool propagate=true) {
2435-+ deleteObject(propagate, propagate);
2436-+ }
2437-+
2438-+ /** @brief Connects a slot to be called when an object is deleted.
2439-+ *
2440-+ * This connects a slot to an object's internal delete signal, which is invoked when the object
2441-+ * is deleted
2442-+ *
2443-+ * The signal is mainly useful for e.g. knowing when to break hrefs or dissociate clones.
2444-+ *
2445-+ * @param slot the slot to connect
2446-+ *
2447-+ * @see SPObject::deleteObject
2448-+ */
2449-+ sigc::connection connectDelete(sigc::slot<void, SPObject *> slot) {
2450-+ return _delete_signal.connect(slot);
2451-+ }
2452-+
2453-+ sigc::connection connectPositionChanged(sigc::slot<void, SPObject *> slot) {
2454-+ return _position_changed_signal.connect(slot);
2455-+ }
2456-+
2457-+ /** @brief Returns the object which supercedes this one (if any).
2458-+ *
2459-+ * This is mainly useful for ensuring we can correctly perform a series of moves or deletes,
2460-+ * even if the objects in question have been replaced in the middle of the sequence.
2461-+ */
2462-+ SPObject *successor() { return _successor; }
2463-+
2464-+ /** @brief Indicates that another object supercedes this one. */
2465-+ void setSuccessor(SPObject *successor) {
2466-+ g_assert(successor != NULL);
2467-+ g_assert(_successor == NULL);
2468-+ g_assert(successor->_successor == NULL);
2469-+ sp_object_ref(successor, NULL);
2470-+ _successor = successor;
2471-+ }
2472-+
2473-+ /* modifications; all three sets of methods should probably ultimately be protected, as they
2474-+ * are not really part of its public interface. However, other parts of the code to
2475-+ * occasionally use them at present. */
2476-+
2477-+ /* the no-argument version of updateRepr() is intended to be a bit more public, however -- it
2478-+ * essentially just flushes any changes back to the backing store (the repr layer); maybe it
2479-+ * should be called something else and made public at that point. */
2480-+
2481-+ /** @brief Updates the object's repr based on the object's state.
2482-+ *
2483-+ * This method updates the the repr attached to the object to reflect the object's current
2484-+ * state; see the three-argument version for details.
2485-+ *
2486-+ * @param flags object write flags that apply to this update
2487-+ *
2488-+ * @return the updated repr
2489-+ */
2490-+ Inkscape::XML::Node *updateRepr(unsigned int flags=SP_OBJECT_WRITE_EXT);
2491-+
2492-+ /** @brief Updates the given repr based on the object's state.
2493-+ *
2494-+ * This method updates the given repr to reflect the object's current state. There are
2495-+ * several flags that affect this:
2496-+ *
2497-+ * SP_OBJECT_WRITE_BUILD - create new reprs
2498-+ *
2499-+ * SP_OBJECT_WRITE_EXT - write elements and attributes
2500-+ * which are not part of pure SVG
2501-+ * (i.e. the Inkscape and Sodipodi
2502-+ * namespaces)
2503-+ *
2504-+ * SP_OBJECT_WRITE_ALL - create all nodes and attributes,
2505-+ * even those which might be redundant
2506-+ *
2507-+ * @param repr the repr to update
2508-+ * @param flags object write flags that apply to this update
2509-+ *
2510-+ * @return the updated repr
2511-+ */
2512-+ Inkscape::XML::Node *updateRepr(Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, unsigned int flags);
2513-+
2514-+ /** @brief Queues an deferred update of this object's display.
2515-+ *
2516-+ * This method sets flags to indicate updates to be performed later, during the idle loop.
2517-+ *
2518-+ * There are several flags permitted here:
2519-+ *
2520-+ * SP_OBJECT_MODIFIED_FLAG - the object has been modified
2521-+ *
2522-+ * SP_OBJECT_CHILD_MODIFIED_FLAG - a child of the object has been
2523-+ * modified
2524-+ *
2525-+ * SP_OBJECT_STYLE_MODIFIED_FLAG - the object's style has been
2526-+ * modified
2527-+ *
2528-+ * There are also some subclass-specific modified flags which are hardly ever used.
2529-+ *
2530-+ * One of either MODIFIED or CHILD_MODIFIED is required.
2531-+ *
2532-+ * @param flags flags indicating what to update
2533-+ */
2534-+ void requestDisplayUpdate(unsigned int flags);
2535-+
2536-+ /** @brief Updates the object's display immediately
2537-+ *
2538-+ * This method is called during the idle loop by SPDocument in order to update the object's
2539-+ * display.
2540-+ *
2541-+ * One additional flag is legal here:
2542-+ *
2543-+ * SP_OBJECT_PARENT_MODIFIED_FLAG - the parent has been
2544-+ * modified
2545-+ *
2546-+ * @param ctx an SPCtx which accumulates various state
2547-+ * during the recursive update -- beware! some
2548-+ * subclasses try to cast this to an SPItemCtx *
2549-+ *
2550-+ * @param flags flags indicating what to update (in addition
2551-+ * to any already set flags)
2552-+ */
2553-+ void updateDisplay(SPCtx *ctx, unsigned int flags);
2554-+
2555-+ /** @brief Requests that a modification notification signal
2556-+ * be emitted later (e.g. during the idle loop)
2557-+ *
2558-+ * @param flags flags indicating what has been modified
2559-+ */
2560-+ void requestModified(unsigned int flags);
2561-+
2562-+ /** @brief Emits a modification notification signal
2563-+ *
2564-+ * @param flags indicating what has been modified
2565-+ */
2566-+ void emitModified(unsigned int flags);
2567-+
2568-+ /** @brief Connects to the modification notification signal
2569-+ *
2570-+ * @param slot the slot to connect
2571-+ *
2572-+ * @returns the connection formed thereby
2573-+ */
2574-+ sigc::connection connectModified(
2575-+ sigc::slot<void, SPObject *, unsigned int> slot
2576-+ ) {
2577-+ return _modified_signal.connect(slot);
2578-+ }
2579-+
2580-+ void _sendDeleteSignalRecursive();
2581-+ void _updateTotalHRefCount(int increment);
2582-+
2583-+ void _requireSVGVersion(unsigned major, unsigned minor) {
2584-+ _requireSVGVersion(Inkscape::Version(major, minor));
2585-+ }
2586-+ void _requireSVGVersion(Inkscape::Version version);
2587-+
2588-+ sigc::signal<void, SPObject *> _release_signal;
2589-+ sigc::signal<void, SPObject *> _delete_signal;
2590-+ sigc::signal<void, SPObject *> _position_changed_signal;
2591-+ sigc::signal<void, SPObject *, unsigned int> _modified_signal;
2592-+ SPObject *_successor;
2593-+ CollectionPolicy _collection_policy;
2594-+ gchar *_label;
2595-+ mutable gchar *_default_label;
2596-+
2597-+private:
2598-+ // Private member functions used in the definitions of setTitle(),
2599-+ // setDesc(), title() and desc().
2600-+ bool setTitleOrDesc(gchar const *value, gchar const *svg_tagname, bool verbatim);
2601-+ gchar * getTitleOrDesc(gchar const *svg_tagname) const;
2602-+ SPObject * findFirstChild(gchar const *tagname) const;
2603-+ GString * textualContent() const;
2604-+
2605-+ friend class SPObjectImpl;
2606-+};
2607-+
2608-+/// The SPObject vtable.
2609-+struct SPObjectClass {
2610-+ GObjectClass parent_class;
2611-+
2612-+ void (* build) (SPObject *object, SPDocument *doc, Inkscape::XML::Node *repr);
2613-+ void (* release) (SPObject *object);
2614-+
2615-+ /* Virtual handlers of repr signals */
2616-+ void (* child_added) (SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *ref);
2617-+ void (* remove_child) (SPObject *object, Inkscape::XML::Node *child);
2618-+
2619-+ void (* order_changed) (SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *old, Inkscape::XML::Node *new_repr);
2620-+
2621-+ void (* set) (SPObject *object, unsigned int key, gchar const *value);
2622-+
2623-+ void (* read_content) (SPObject *object);
2624-+
2625-+ /* Update handler */
2626-+ void (* update) (SPObject *object, SPCtx *ctx, unsigned int flags);
2627-+ /* Modification handler */
2628-+ void (* modified) (SPObject *object, unsigned int flags);
2629-+
2630-+ Inkscape::XML::Node * (* write) (SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, unsigned int flags);
2631-+};
2632-+
2633-+
2634-+/*
2635-+ * Attaching/detaching
2636-+ */
2637-+
2638-+void sp_object_attach(SPObject *parent, SPObject *object, SPObject *prev);
2639-+void sp_object_reorder(SPObject *object, SPObject *prev);
2640-+void sp_object_detach(SPObject *parent, SPObject *object);
2641-+
2642-+inline SPObject *sp_object_first_child(SPObject *parent) {
2643-+ return parent->firstChild();
2644-+}
2645-+SPObject *sp_object_get_child_by_repr(SPObject *object, Inkscape::XML::Node *repr);
2646-+
2647-+void sp_object_invoke_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr, unsigned int cloned);
2648-+
2649-+void sp_object_set(SPObject *object, unsigned int key, gchar const *value);
2650-+
2651-+void sp_object_read_attr(SPObject *object, gchar const *key);
2652-+
2653-+/* Public */
2654-+
2655-+gchar const *sp_object_tagName_get(SPObject const *object, SPException *ex);
2656-+gchar const *sp_object_getAttribute(SPObject const *object, gchar const *key, SPException *ex);
2657-+void sp_object_setAttribute(SPObject *object, gchar const *key, gchar const *value, SPException *ex);
2658-+void sp_object_removeAttribute(SPObject *object, gchar const *key, SPException *ex);
2659-+
2660-+/* Style */
2661-+
2662-+gchar const *sp_object_get_style_property(SPObject const *object,
2663-+ gchar const *key, gchar const *def);
2664-+
2665-+int sp_object_compare_position(SPObject const *first, SPObject const *second);
2666-+
2667-+SPObject *sp_object_prev(SPObject *child);
2668-+
2669-+
2670-+#endif // SP_OBJECT_H_SEEN
2671-+
2672-+
2673-+/*
2674-+ Local Variables:
2675-+ mode:c++
2676-+ c-file-style:"stroustrup"
2677-+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
2678-+ indent-tabs-mode:nil
2679-+ fill-column:99
2680-+ End:
2681-+*/
2682-+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
2683-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-offset.h inkscape-0.48.1/src/sp-offset.h
2684---- inkscape-0.48.1~/src/sp-offset.h 2010-07-13 04:48:40.000000000 +0100
2685-+++ inkscape-0.48.1/src/sp-offset.h 2011-05-01 00:56:19.611250878 +0100
2686-@@ -16,6 +16,7 @@
2687-
2688- #include "sp-shape.h"
2689-
2690-+#include <stddef.h>
2691- #include <sigc++/sigc++.h>
2692-
2693- #define SP_TYPE_OFFSET (sp_offset_get_type ())
2694-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-pattern.h inkscape-0.48.1/src/sp-pattern.h
2695---- inkscape-0.48.1~/src/sp-pattern.h 2010-07-13 04:48:40.000000000 +0100
2696-+++ inkscape-0.48.1/src/sp-pattern.h 2011-05-01 00:56:19.611250878 +0100
2697-@@ -32,6 +32,7 @@
2698- #include "sp-paint-server.h"
2699- #include "uri-references.h"
2700-
2701-+#include <stddef.h>
2702- #include <sigc++/connection.h>
2703-
2704- class SPPatternReference : public Inkscape::URIReference {
2705-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-pattern.h.orig inkscape-0.48.1/src/sp-pattern.h.orig
2706---- inkscape-0.48.1~/src/sp-pattern.h.orig 1970-01-01 01:00:00.000000000 +0100
2707-+++ inkscape-0.48.1/src/sp-pattern.h.orig 2010-07-13 04:48:40.000000000 +0100
2708-@@ -0,0 +1,113 @@
2709-+#ifndef __SP_PATTERN_H__
2710-+#define __SP_PATTERN_H__
2711-+
2712-+/*
2713-+ * SVG <pattern> implementation
2714-+ *
2715-+ * Author:
2716-+ * Lauris Kaplinski <lauris@kaplinski.com>
2717-+ *
2718-+ * Copyright (C) 2002 Lauris Kaplinski
2719-+ *
2720-+ * Released under GNU GPL, read the file 'COPYING' for more information
2721-+ */
2722-+
2723-+#include <gtk/gtktypeutils.h>
2724-+
2725-+#include "forward.h"
2726-+
2727-+#define SP_TYPE_PATTERN (sp_pattern_get_type ())
2728-+#define SP_PATTERN(o) (GTK_CHECK_CAST ((o), SP_TYPE_PATTERN, SPPattern))
2729-+#define SP_PATTERN_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_PATTERN, SPPatternClass))
2730-+#define SP_IS_PATTERN(o) (GTK_CHECK_TYPE ((o), SP_TYPE_PATTERN))
2731-+#define SP_IS_PATTERN_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_PATTERN))
2732-+
2733-+GType sp_pattern_get_type (void);
2734-+
2735-+class SPPatternClass;
2736-+
2737-+#include <libnr/nr-rect.h>
2738-+#include <libnr/nr-matrix.h>
2739-+#include "svg/svg-length.h"
2740-+#include "sp-paint-server.h"
2741-+#include "uri-references.h"
2742-+
2743-+#include <sigc++/connection.h>
2744-+
2745-+class SPPatternReference : public Inkscape::URIReference {
2746-+public:
2747-+ SPPatternReference (SPObject *obj) : URIReference(obj) {}
2748-+ SPPattern *getObject() const {
2749-+ return (SPPattern *)URIReference::getObject();
2750-+ }
2751-+
2752-+protected:
2753-+ virtual bool _acceptObject(SPObject *obj) const {
2754-+ return SP_IS_PATTERN (obj);
2755-+ }
2756-+};
2757-+
2758-+enum {
2759-+ SP_PATTERN_UNITS_USERSPACEONUSE,
2760-+ SP_PATTERN_UNITS_OBJECTBOUNDINGBOX
2761-+};
2762-+
2763-+struct SPPattern : public SPPaintServer {
2764-+ /* Reference (href) */
2765-+ gchar *href;
2766-+ SPPatternReference *ref;
2767-+
2768-+ /* patternUnits and patternContentUnits attribute */
2769-+ guint patternUnits : 1;
2770-+ guint patternUnits_set : 1;
2771-+ guint patternContentUnits : 1;
2772-+ guint patternContentUnits_set : 1;
2773-+ /* patternTransform attribute */
2774-+ Geom::Matrix patternTransform;
2775-+ guint patternTransform_set : 1;
2776-+ /* Tile rectangle */
2777-+ SVGLength x;
2778-+ SVGLength y;
2779-+ SVGLength width;
2780-+ SVGLength height;
2781-+ /* VieBox */
2782-+ NRRect viewBox;
2783-+ guint viewBox_set : 1;
2784-+
2785-+ sigc::connection modified_connection;
2786-+};
2787-+
2788-+struct SPPatternClass {
2789-+ SPPaintServerClass parent_class;
2790-+};
2791-+
2792-+guint pattern_users (SPPattern *pattern);
2793-+SPPattern *pattern_chain (SPPattern *pattern);
2794-+SPPattern *sp_pattern_clone_if_necessary (SPItem *item, SPPattern *pattern, const gchar *property);
2795-+void sp_pattern_transform_multiply (SPPattern *pattern, Geom::Matrix postmul, bool set);
2796-+
2797-+const gchar *pattern_tile (GSList *reprs, Geom::Rect bounds, SPDocument *document, Geom::Matrix transform, Geom::Matrix move);
2798-+
2799-+SPPattern *pattern_getroot (SPPattern *pat);
2800-+
2801-+guint pattern_patternUnits (SPPattern *pat);
2802-+guint pattern_patternContentUnits (SPPattern *pat);
2803-+Geom::Matrix const &pattern_patternTransform(SPPattern const *pat);
2804-+gdouble pattern_x (SPPattern *pat);
2805-+gdouble pattern_y (SPPattern *pat);
2806-+gdouble pattern_width (SPPattern *pat);
2807-+gdouble pattern_height (SPPattern *pat);
2808-+NRRect *pattern_viewBox (SPPattern *pat);
2809-+
2810-+#endif //__SP_PATTERN_H__
2811-+
2812-+/*
2813-+ Local Variables:
2814-+ mode:c++
2815-+ c-file-style:"stroustrup"
2816-+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
2817-+ indent-tabs-mode:nil
2818-+ fill-column:99
2819-+ End:
2820-+*/
2821-+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
2822-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-shape.h inkscape-0.48.1/src/sp-shape.h
2823---- inkscape-0.48.1~/src/sp-shape.h 2010-07-13 04:48:40.000000000 +0100
2824-+++ inkscape-0.48.1/src/sp-shape.h 2011-05-01 00:56:19.611250878 +0100
2825-@@ -19,6 +19,7 @@
2826- #include "sp-marker-loc.h"
2827- #include <2geom/forward.h>
2828-
2829-+#include <stddef.h>
2830- #include <sigc++/connection.h>
2831-
2832- #define SP_TYPE_SHAPE (sp_shape_get_type ())
2833-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-shape.h.orig inkscape-0.48.1/src/sp-shape.h.orig
2834---- inkscape-0.48.1~/src/sp-shape.h.orig 1970-01-01 01:00:00.000000000 +0100
2835-+++ inkscape-0.48.1/src/sp-shape.h.orig 2010-07-13 04:48:40.000000000 +0100
2836-@@ -0,0 +1,71 @@
2837-+#ifndef __SP_SHAPE_H__
2838-+#define __SP_SHAPE_H__
2839-+
2840-+/*
2841-+ * Base class for shapes, including <path> element
2842-+ *
2843-+ * Author:
2844-+ * Lauris Kaplinski <lauris@kaplinski.com>
2845-+ *
2846-+ * Copyright (C) 1999-2002 Lauris Kaplinski
2847-+ * Copyright (C) 2000-2001 Ximian, Inc.
2848-+ * Copyright (C) 2008 Johan Engelen
2849-+ *
2850-+ * Released under GNU GPL, read the file 'COPYING' for more information
2851-+ */
2852-+
2853-+#include "display/display-forward.h"
2854-+#include "sp-lpe-item.h"
2855-+#include "sp-marker-loc.h"
2856-+#include <2geom/forward.h>
2857-+
2858-+#include <sigc++/connection.h>
2859-+
2860-+#define SP_TYPE_SHAPE (sp_shape_get_type ())
2861-+#define SP_SHAPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_SHAPE, SPShape))
2862-+#define SP_SHAPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_SHAPE, SPShapeClass))
2863-+#define SP_IS_SHAPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_SHAPE))
2864-+#define SP_IS_SHAPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_SHAPE))
2865-+
2866-+#define SP_SHAPE_WRITE_PATH (1 << 2)
2867-+
2868-+struct SPDesktop;
2869-+
2870-+struct SPShape : public SPLPEItem {
2871-+ SPCurve *curve;
2872-+
2873-+ SPObject *marker[SP_MARKER_LOC_QTY];
2874-+ sigc::connection release_connect [SP_MARKER_LOC_QTY];
2875-+ sigc::connection modified_connect [SP_MARKER_LOC_QTY];
2876-+};
2877-+
2878-+struct SPShapeClass {
2879-+ SPLPEItemClass item_class;
2880-+
2881-+ /* Build bpath from extra shape attributes */
2882-+ void (* set_shape) (SPShape *shape);
2883-+};
2884-+
2885-+GType sp_shape_get_type (void);
2886-+
2887-+void sp_shape_set_shape (SPShape *shape);
2888-+
2889-+/* Return duplicate of curve or NULL */
2890-+SPCurve *sp_shape_get_curve (SPShape *shape);
2891-+
2892-+// sets a curve, updates display
2893-+void sp_shape_set_curve (SPShape *shape, SPCurve *curve, unsigned int owner);
2894-+
2895-+// same as sp_shape_set_curve, but without updating display
2896-+void sp_shape_set_curve_insync (SPShape *shape, SPCurve *curve, unsigned int owner);
2897-+
2898-+// markers API
2899-+void sp_shape_set_marker (SPObject *object, unsigned int key, const gchar *value);
2900-+int sp_shape_has_markers (SPShape const *shape);
2901-+int sp_shape_number_of_markers (SPShape* Shape, int type);
2902-+
2903-+Geom::Matrix sp_shape_marker_get_transform(Geom::Curve const & c1, Geom::Curve const & c2);
2904-+Geom::Matrix sp_shape_marker_get_transform_at_start(Geom::Curve const & c);
2905-+Geom::Matrix sp_shape_marker_get_transform_at_end(Geom::Curve const & c);
2906-+
2907-+#endif
2908-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-switch.h inkscape-0.48.1/src/sp-switch.h
2909---- inkscape-0.48.1~/src/sp-switch.h 2010-07-13 04:48:40.000000000 +0100
2910-+++ inkscape-0.48.1/src/sp-switch.h 2011-05-01 00:56:19.611250878 +0100
2911-@@ -14,6 +14,7 @@
2912-
2913- #include "sp-item-group.h"
2914-
2915-+#include <stddef.h>
2916- #include <sigc++/connection.h>
2917-
2918- #define SP_TYPE_SWITCH (CSwitch::getType())
2919-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-text.h inkscape-0.48.1/src/sp-text.h
2920---- inkscape-0.48.1~/src/sp-text.h 2010-07-13 04:48:40.000000000 +0100
2921-+++ inkscape-0.48.1/src/sp-text.h 2011-05-01 00:56:19.611250878 +0100
2922-@@ -14,6 +14,7 @@
2923- */
2924-
2925- #include <glib/gtypes.h>
2926-+#include <stddef.h>
2927- #include <sigc++/sigc++.h>
2928- #include "sp-item.h"
2929- #include "sp-string.h"
2930-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-tref-reference.h inkscape-0.48.1/src/sp-tref-reference.h
2931---- inkscape-0.48.1~/src/sp-tref-reference.h 2010-07-13 04:48:40.000000000 +0100
2932-+++ inkscape-0.48.1/src/sp-tref-reference.h 2011-05-01 00:56:19.611250878 +0100
2933-@@ -13,6 +13,7 @@
2934-
2935- #include <forward.h>
2936- #include <uri-references.h>
2937-+#include <stddef.h>
2938- #include <sigc++/sigc++.h>
2939-
2940- #include "util/share.h"
2941-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-tref-reference.h.orig inkscape-0.48.1/src/sp-tref-reference.h.orig
2942---- inkscape-0.48.1~/src/sp-tref-reference.h.orig 1970-01-01 01:00:00.000000000 +0100
2943-+++ inkscape-0.48.1/src/sp-tref-reference.h.orig 2010-07-13 04:48:40.000000000 +0100
2944-@@ -0,0 +1,75 @@
2945-+#ifndef SEEN_SP_TREF_REFERENCE_H
2946-+#define SEEN_SP_TREF_REFERENCE_H
2947-+
2948-+/*
2949-+ * The reference corresponding to href of <tref> element.
2950-+ *
2951-+ * This file was created based on sp-use-reference.h
2952-+ *
2953-+ * Copyright (C) 2007 Gail Banaszkiewicz
2954-+ *
2955-+ * Released under GNU GPL, read the file 'COPYING' for more information.
2956-+ */
2957-+
2958-+#include <forward.h>
2959-+#include <uri-references.h>
2960-+#include <sigc++/sigc++.h>
2961-+
2962-+#include "util/share.h"
2963-+#include "xml/node-observer.h"
2964-+#include "xml/subtree.h"
2965-+
2966-+
2967-+class SPTRefReference : public Inkscape::URIReference,
2968-+ public Inkscape::XML::NodeObserver {
2969-+public:
2970-+ SPTRefReference(SPObject *owner) : URIReference(owner), subtreeObserved(NULL) {
2971-+ updateObserver();
2972-+ }
2973-+
2974-+ virtual ~SPTRefReference() {
2975-+ if (subtreeObserved) {
2976-+ subtreeObserved->removeObserver(*this);
2977-+ delete subtreeObserved;
2978-+ }
2979-+ }
2980-+
2981-+ SPItem *getObject() const {
2982-+ return (SPItem *)URIReference::getObject();
2983-+ }
2984-+
2985-+ void updateObserver();
2986-+
2987-+ /////////////////////////////////////////////////////////////////////
2988-+ // Node Observer Functions
2989-+ // -----------------------
2990-+ virtual void notifyChildAdded(Inkscape::XML::Node &node, Inkscape::XML::Node &child, Inkscape::XML::Node *prev);
2991-+ virtual void notifyChildRemoved(Inkscape::XML::Node &node, Inkscape::XML::Node &child, Inkscape::XML::Node *prev);
2992-+ virtual void notifyChildOrderChanged(Inkscape::XML::Node &node, Inkscape::XML::Node &child,
2993-+ Inkscape::XML::Node *old_prev, Inkscape::XML::Node *new_prev);
2994-+ virtual void notifyContentChanged(Inkscape::XML::Node &node,
2995-+ Inkscape::Util::ptr_shared<char> old_content,
2996-+ Inkscape::Util::ptr_shared<char> new_content);
2997-+ virtual void notifyAttributeChanged(Inkscape::XML::Node &node, GQuark name,
2998-+ Inkscape::Util::ptr_shared<char> old_value,
2999-+ Inkscape::Util::ptr_shared<char> new_value);
3000-+ /////////////////////////////////////////////////////////////////////
3001-+
3002-+protected:
3003-+ virtual bool _acceptObject(SPObject * obj) const;
3004-+
3005-+ Inkscape::XML::Subtree *subtreeObserved;
3006-+};
3007-+
3008-+#endif /* !SEEN_SP_TREF_REFERENCE_H */
3009-+
3010-+/*
3011-+ Local Variables:
3012-+ mode:c++
3013-+ c-file-style:"stroustrup"
3014-+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
3015-+ indent-tabs-mode:nil
3016-+ fill-column:99
3017-+ End:
3018-+*/
3019-+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
3020-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-use-reference.h inkscape-0.48.1/src/sp-use-reference.h
3021---- inkscape-0.48.1~/src/sp-use-reference.h 2010-07-13 04:48:40.000000000 +0100
3022-+++ inkscape-0.48.1/src/sp-use-reference.h 2011-05-01 00:56:19.611250878 +0100
3023-@@ -11,6 +11,7 @@
3024-
3025- #include <forward.h>
3026- #include <uri-references.h>
3027-+#include <stddef.h>
3028- #include <sigc++/sigc++.h>
3029-
3030- class Path;
3031-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-use-reference.h.orig inkscape-0.48.1/src/sp-use-reference.h.orig
3032---- inkscape-0.48.1~/src/sp-use-reference.h.orig 1970-01-01 01:00:00.000000000 +0100
3033-+++ inkscape-0.48.1/src/sp-use-reference.h.orig 2010-07-13 04:48:40.000000000 +0100
3034-@@ -0,0 +1,77 @@
3035-+#ifndef SEEN_SP_USE_REFERENCE_H
3036-+#define SEEN_SP_USE_REFERENCE_H
3037-+
3038-+/*
3039-+ * The reference corresponding to href of <use> element.
3040-+ *
3041-+ * Copyright (C) 2004 Bulia Byak
3042-+ *
3043-+ * Released under GNU GPL, read the file 'COPYING' for more information.
3044-+ */
3045-+
3046-+#include <forward.h>
3047-+#include <uri-references.h>
3048-+#include <sigc++/sigc++.h>
3049-+
3050-+class Path;
3051-+
3052-+namespace Inkscape {
3053-+namespace XML {
3054-+ struct Node;
3055-+}
3056-+}
3057-+
3058-+
3059-+class SPUseReference : public Inkscape::URIReference {
3060-+public:
3061-+ SPUseReference(SPObject *owner) : URIReference(owner) {}
3062-+
3063-+ SPItem *getObject() const {
3064-+ return (SPItem *)URIReference::getObject();
3065-+ }
3066-+
3067-+protected:
3068-+ virtual bool _acceptObject(SPObject * const obj) const;
3069-+
3070-+};
3071-+
3072-+
3073-+class SPUsePath : public SPUseReference {
3074-+public:
3075-+ Path *originalPath;
3076-+ bool sourceDirty;
3077-+
3078-+ SPObject *owner;
3079-+ gchar *sourceHref;
3080-+ Inkscape::XML::Node *sourceRepr;
3081-+ SPObject *sourceObject;
3082-+
3083-+ sigc::connection _modified_connection;
3084-+ sigc::connection _delete_connection;
3085-+ sigc::connection _changed_connection;
3086-+ sigc::connection _transformed_connection;
3087-+
3088-+ SPUsePath(SPObject* i_owner);
3089-+ ~SPUsePath(void);
3090-+
3091-+ void link(char* to);
3092-+ void unlink(void);
3093-+ void start_listening(SPObject* to);
3094-+ void quit_listening(void);
3095-+ void refresh_source(void);
3096-+
3097-+ void (*user_unlink) (SPObject *user);
3098-+};
3099-+
3100-+#endif /* !SEEN_SP_USE_REFERENCE_H */
3101-+
3102-+/*
3103-+ Local Variables:
3104-+ mode:c++
3105-+ c-file-style:"stroustrup"
3106-+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
3107-+ indent-tabs-mode:nil
3108-+ fill-column:99
3109-+ End:
3110-+*/
3111-+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
3112-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-use.h inkscape-0.48.1/src/sp-use.h
3113---- inkscape-0.48.1~/src/sp-use.h 2010-07-13 04:48:40.000000000 +0100
3114-+++ inkscape-0.48.1/src/sp-use.h 2011-05-01 00:56:19.611250878 +0100
3115-@@ -13,6 +13,7 @@
3116- * Released under GNU GPL, read the file 'COPYING' for more information
3117- */
3118-
3119-+#include <stddef.h>
3120- #include <sigc++/sigc++.h>
3121- #include "svg/svg-length.h"
3122- #include "sp-item.h"
3123-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/spiral-context.h inkscape-0.48.1/src/spiral-context.h
3124---- inkscape-0.48.1~/src/spiral-context.h 2010-07-13 04:48:40.000000000 +0100
3125-+++ inkscape-0.48.1/src/spiral-context.h 2011-05-01 00:56:19.611250878 +0100
3126-@@ -16,6 +16,7 @@
3127- */
3128-
3129- #include <gtk/gtktypeutils.h>
3130-+#include <stddef.h>
3131- #include <sigc++/sigc++.h>
3132- #include "event-context.h"
3133- #include "libnr/nr-point.h"
3134-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/star-context.h inkscape-0.48.1/src/star-context.h
3135---- inkscape-0.48.1~/src/star-context.h 2010-07-13 04:48:40.000000000 +0100
3136-+++ inkscape-0.48.1/src/star-context.h 2011-05-01 00:56:19.611250878 +0100
3137-@@ -14,6 +14,7 @@
3138- * Released under GNU GPL, read the file 'COPYING' for more information
3139- */
3140-
3141-+#include <stddef.h>
3142- #include <sigc++/sigc++.h>
3143- #include "event-context.h"
3144- #include "libnr/nr-point.h"
3145-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/style.h inkscape-0.48.1/src/style.h
3146---- inkscape-0.48.1~/src/style.h 2010-08-04 17:45:00.000000000 +0100
3147-+++ inkscape-0.48.1/src/style.h 2011-05-01 00:56:19.611250878 +0100
3148-@@ -24,6 +24,7 @@
3149- #include "uri.h"
3150- #include "sp-paint-server.h"
3151-
3152-+#include <stddef.h>
3153- #include <sigc++/connection.h>
3154-
3155- namespace Inkscape {
3156-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/text-context.h inkscape-0.48.1/src/text-context.h
3157---- inkscape-0.48.1~/src/text-context.h 2010-07-13 04:48:40.000000000 +0100
3158-+++ inkscape-0.48.1/src/text-context.h 2011-05-01 00:56:19.611250878 +0100
3159-@@ -15,6 +15,7 @@
3160- */
3161-
3162- /* #include <gdk/gdkic.h> */
3163-+#include <stddef.h>
3164- #include <sigc++/sigc++.h>
3165- #include <gtk/gtkimcontext.h>
3166-
3167-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/dialog/desktop-tracker.h inkscape-0.48.1/src/ui/dialog/desktop-tracker.h
3168---- inkscape-0.48.1~/src/ui/dialog/desktop-tracker.h 2010-07-13 04:48:40.000000000 +0100
3169-+++ inkscape-0.48.1/src/ui/dialog/desktop-tracker.h 2011-05-01 00:56:19.611250878 +0100
3170-@@ -11,6 +11,7 @@
3171- #ifndef SEEN_DIALOG_DESKTOP_TRACKER
3172- #define SEEN_DIALOG_DESKTOP_TRACKER
3173-
3174-+#include <stddef.h>
3175- #include <sigc++/connection.h>
3176- #include <glib/gtypes.h>
3177-
3178-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/dialog/document-metadata.h inkscape-0.48.1/src/ui/dialog/document-metadata.h
3179---- inkscape-0.48.1~/src/ui/dialog/document-metadata.h 2010-07-13 04:48:40.000000000 +0100
3180-+++ inkscape-0.48.1/src/ui/dialog/document-metadata.h 2011-05-01 00:56:19.611250878 +0100
3181-@@ -14,6 +14,7 @@
3182- #define INKSCAPE_UI_DIALOG_DOCUMENT_METADATA_H
3183-
3184- #include <list>
3185-+#include <stddef.h>
3186- #include <sigc++/sigc++.h>
3187- #include <gtkmm/notebook.h>
3188- #include <glibmm/i18n.h>
3189-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/dialog/document-properties.h inkscape-0.48.1/src/ui/dialog/document-properties.h
3190---- inkscape-0.48.1~/src/ui/dialog/document-properties.h 2010-07-13 04:48:40.000000000 +0100
3191-+++ inkscape-0.48.1/src/ui/dialog/document-properties.h 2011-05-01 00:56:19.611250878 +0100
3192-@@ -15,6 +15,7 @@
3193- #define INKSCAPE_UI_DIALOG_DOCUMENT_PREFERENCES_H
3194-
3195- #include <list>
3196-+#include <stddef.h>
3197- #include <sigc++/sigc++.h>//
3198- #include <gtkmm/notebook.h>
3199- #include <glibmm/i18n.h>
3200-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/dialog/inkscape-preferences.h inkscape-0.48.1/src/ui/dialog/inkscape-preferences.h
3201---- inkscape-0.48.1~/src/ui/dialog/inkscape-preferences.h 2010-11-06 18:47:19.000000000 +0000
3202-+++ inkscape-0.48.1/src/ui/dialog/inkscape-preferences.h 2011-05-01 00:56:19.611250878 +0100
3203-@@ -28,6 +28,7 @@
3204- #include <gtkmm/frame.h>
3205- #include <gtkmm/notebook.h>
3206- #include "ui/widget/preferences-widget.h"
3207-+#include <stddef.h>
3208- #include <sigc++/sigc++.h>
3209- #include <glibmm/i18n.h>
3210- #include <gtkmm/textview.h>
3211-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/dialog/undo-history.cpp inkscape-0.48.1/src/ui/dialog/undo-history.cpp
3212---- inkscape-0.48.1~/src/ui/dialog/undo-history.cpp 2010-07-13 04:48:40.000000000 +0100
3213-+++ inkscape-0.48.1/src/ui/dialog/undo-history.cpp 2011-05-01 00:56:19.611250878 +0100
3214-@@ -14,6 +14,7 @@
3215-
3216- #include <glibmm/i18n.h>
3217- #include <gtk/gtkimage.h>
3218-+#include <stddef.h>
3219- #include <sigc++/sigc++.h>
3220-
3221-
3222-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/dialog/undo-history.cpp.orig inkscape-0.48.1/src/ui/dialog/undo-history.cpp.orig
3223---- inkscape-0.48.1~/src/ui/dialog/undo-history.cpp.orig 1970-01-01 01:00:00.000000000 +0100
3224-+++ inkscape-0.48.1/src/ui/dialog/undo-history.cpp.orig 2010-07-13 04:48:40.000000000 +0100
3225-@@ -0,0 +1,348 @@
3226-+/** @file
3227-+ * @brief Undo History dialog - implementation
3228-+ */
3229-+/* Author:
3230-+ * Gustav Broberg <broberg@kth.se>
3231-+ *
3232-+ * Copyright (C) 2006 Authors
3233-+ * Released under GNU GPL. Read the file 'COPYING' for more information.
3234-+ */
3235-+
3236-+#ifdef HAVE_CONFIG_H
3237-+# include <config.h>
3238-+#endif
3239-+
3240-+#include <glibmm/i18n.h>
3241-+#include <gtk/gtkimage.h>
3242-+#include <sigc++/sigc++.h>
3243-+
3244-+
3245-+#include "document.h"
3246-+#include "inkscape.h"
3247-+#include "verbs.h"
3248-+#include "desktop-handles.h"
3249-+
3250-+#include "undo-history.h"
3251-+
3252-+namespace Inkscape {
3253-+namespace UI {
3254-+namespace Dialog {
3255-+
3256-+/* Rendering functions for custom cell renderers */
3257-+
3258-+void
3259-+CellRendererSPIcon::render_vfunc(const Glib::RefPtr<Gdk::Drawable>& window,
3260-+ Gtk::Widget& widget,
3261-+ const Gdk::Rectangle& background_area,
3262-+ const Gdk::Rectangle& cell_area,
3263-+ const Gdk::Rectangle& expose_area,
3264-+ Gtk::CellRendererState flags)
3265-+{
3266-+ // if this event type doesn't have an icon...
3267-+ if ( !Inkscape::Verb::get(_property_event_type)->get_image() ) return;
3268-+
3269-+ // if the icon isn't cached, render it to a pixbuf
3270-+ if ( !_icon_cache[_property_event_type] ) {
3271-+
3272-+ Glib::ustring image = Inkscape::Verb::get(_property_event_type)->get_image();
3273-+ Gtk::Widget* icon = sp_icon_get_icon(image, Inkscape::ICON_SIZE_MENU);
3274-+
3275-+ if (icon) {
3276-+
3277-+ // check icon type (inkscape, gtk, none)
3278-+ if ( SP_IS_ICON(icon->gobj()) ) {
3279-+ SPIcon* sp_icon = SP_ICON(icon->gobj());
3280-+ sp_icon_fetch_pixbuf(sp_icon);
3281-+ _property_icon = Glib::wrap(sp_icon->pb, true);
3282-+ } else if ( GTK_IS_IMAGE(icon->gobj()) ) {
3283-+ _property_icon = Gtk::Invisible().render_icon(Gtk::StockID(image),
3284-+ Gtk::ICON_SIZE_MENU);
3285-+ } else {
3286-+ delete icon;
3287-+ return;
3288-+ }
3289-+
3290-+ delete icon;
3291-+ property_pixbuf() = _icon_cache[_property_event_type] = _property_icon.get_value();
3292-+ }
3293-+
3294-+ } else {
3295-+ property_pixbuf() = _icon_cache[_property_event_type];
3296-+ }
3297-+
3298-+ Gtk::CellRendererPixbuf::render_vfunc(window, widget, background_area,
3299-+ cell_area, expose_area, flags);
3300-+}
3301-+
3302-+
3303-+void
3304-+CellRendererInt::render_vfunc(const Glib::RefPtr<Gdk::Drawable>& window,
3305-+ Gtk::Widget& widget,
3306-+ const Gdk::Rectangle& background_area,
3307-+ const Gdk::Rectangle& cell_area,
3308-+ const Gdk::Rectangle& expose_area,
3309-+ Gtk::CellRendererState flags)
3310-+{
3311-+ if( _filter(_property_number) ) {
3312-+ std::ostringstream s;
3313-+ s << _property_number << std::flush;
3314-+ property_text() = s.str();
3315-+ Gtk::CellRendererText::render_vfunc(window, widget, background_area,
3316-+ cell_area, expose_area, flags);
3317-+ }
3318-+}
3319-+
3320-+const CellRendererInt::Filter& CellRendererInt::no_filter = CellRendererInt::NoFilter();
3321-+
3322-+UndoHistory& UndoHistory::getInstance()
3323-+{
3324-+ return *new UndoHistory();
3325-+}
3326-+
3327-+void
3328-+UndoHistory::setDesktop(SPDesktop* desktop)
3329-+{
3330-+ Panel::setDesktop(desktop);
3331-+
3332-+ if (!desktop) return;
3333-+
3334-+ _document = sp_desktop_document(desktop);
3335-+
3336-+ _event_log = desktop->event_log;
3337-+
3338-+ _callback_connections[EventLog::CALLB_SELECTION_CHANGE].block();
3339-+
3340-+ _event_list_store = _event_log->getEventListStore();
3341-+ _event_list_view.set_model(_event_list_store);
3342-+ _event_list_selection = _event_list_view.get_selection();
3343-+
3344-+ _event_log->connectWithDialog(&_event_list_view, &_callback_connections);
3345-+ _event_list_view.scroll_to_row(_event_list_store->get_path(_event_list_selection->get_selected()));
3346-+
3347-+ _callback_connections[EventLog::CALLB_SELECTION_CHANGE].block(false);
3348-+}
3349-+
3350-+UndoHistory::UndoHistory()
3351-+ : UI::Widget::Panel ("", "/dialogs/undo-history", SP_VERB_DIALOG_UNDO_HISTORY),
3352-+ _document (sp_desktop_document(getDesktop())),
3353-+ _event_log (getDesktop() ? getDesktop()->event_log : NULL),
3354-+ _columns (_event_log ? &_event_log->getColumns() : NULL),
3355-+ _event_list_selection (_event_list_view.get_selection())
3356-+{
3357-+ if ( !_document || !_event_log || !_columns ) return;
3358-+
3359-+ set_size_request(300, 95);
3360-+
3361-+ _getContents()->pack_start(_scrolled_window);
3362-+ _scrolled_window.set_policy(Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
3363-+
3364-+ _event_list_store = _event_log->getEventListStore();
3365-+
3366-+ _event_list_view.set_model(_event_list_store);
3367-+ _event_list_view.set_rules_hint(false);
3368-+ _event_list_view.set_enable_search(false);
3369-+ _event_list_view.set_headers_visible(false);
3370-+
3371-+ CellRendererSPIcon* icon_renderer = Gtk::manage(new CellRendererSPIcon());
3372-+ icon_renderer->property_xpad() = 8;
3373-+ icon_renderer->property_width() = 36;
3374-+ int cols_count = _event_list_view.append_column("Icon", *icon_renderer);
3375-+
3376-+ Gtk::TreeView::Column* icon_column = _event_list_view.get_column(cols_count-1);
3377-+ icon_column->add_attribute(icon_renderer->property_event_type(), _columns->type);
3378-+
3379-+ Gtk::CellRendererText* description_renderer = Gtk::manage(new Gtk::CellRendererText());
3380-+
3381-+ cols_count = _event_list_view.append_column("Description", *description_renderer);
3382-+ Gtk::TreeView::Column* description_column = _event_list_view.get_column(cols_count-1);
3383-+ description_column->add_attribute(description_renderer->property_text(), _columns->description);
3384-+ description_column->set_resizable();
3385-+
3386-+ _event_list_view.set_expander_column( *_event_list_view.get_column(cols_count-1) );
3387-+
3388-+ CellRendererInt* children_renderer = Gtk::manage(new CellRendererInt(greater_than_1));
3389-+ children_renderer->property_weight() = 600; // =Pango::WEIGHT_SEMIBOLD (not defined in old versions of pangomm)
3390-+ children_renderer->property_xalign() = 1.0;
3391-+ children_renderer->property_xpad() = 20;
3392-+
3393-+ cols_count = _event_list_view.append_column("Children", *children_renderer);
3394-+ Gtk::TreeView::Column* children_column = _event_list_view.get_column(cols_count-1);
3395-+ children_column->add_attribute(children_renderer->property_number(), _columns->child_count);
3396-+
3397-+ _scrolled_window.add(_event_list_view);
3398-+
3399-+ // connect EventLog callbacks
3400-+ _callback_connections[EventLog::CALLB_SELECTION_CHANGE] =
3401-+ _event_list_selection->signal_changed().connect(sigc::mem_fun(*this, &Inkscape::UI::Dialog::UndoHistory::_onListSelectionChange));
3402-+
3403-+ _callback_connections[EventLog::CALLB_EXPAND] =
3404-+ _event_list_view.signal_row_expanded().connect(sigc::mem_fun(*this, &Inkscape::UI::Dialog::UndoHistory::_onExpandEvent));
3405-+
3406-+ _callback_connections[EventLog::CALLB_COLLAPSE] =
3407-+ _event_list_view.signal_row_collapsed().connect(sigc::mem_fun(*this, &Inkscape::UI::Dialog::UndoHistory::_onCollapseEvent));
3408-+
3409-+ // connect with the EventLog
3410-+ _event_log->connectWithDialog(&_event_list_view, &_callback_connections);
3411-+
3412-+ show_all_children();
3413-+
3414-+ // scroll to the selected row
3415-+ _event_list_view.set_cursor(_event_list_store->get_path(_event_log->getCurrEvent()));
3416-+}
3417-+
3418-+UndoHistory::~UndoHistory()
3419-+{
3420-+}
3421-+
3422-+void
3423-+UndoHistory::_onListSelectionChange()
3424-+{
3425-+
3426-+ EventLog::const_iterator selected = _event_list_selection->get_selected();
3427-+
3428-+ /* If no event is selected in the view, find the right one and select it. This happens whenever
3429-+ * a branch we're currently in is collapsed.
3430-+ */
3431-+ if (!selected) {
3432-+
3433-+ EventLog::iterator curr_event = _event_log->getCurrEvent();
3434-+
3435-+ if (curr_event->parent()) {
3436-+
3437-+ EventLog::iterator curr_event_parent = curr_event->parent();
3438-+ EventLog::iterator last = curr_event_parent->children().end();
3439-+
3440-+ _event_log->blockNotifications();
3441-+ for ( --last ; curr_event != last ; ++curr_event ) {
3442-+ sp_document_redo(_document);
3443-+ }
3444-+ _event_log->blockNotifications(false);
3445-+
3446-+ _event_log->setCurrEvent(curr_event);
3447-+ _event_list_selection->select(curr_event_parent);
3448-+
3449-+ } else { // this should not happen
3450-+ _event_list_selection->select(curr_event);
3451-+ }
3452-+
3453-+ } else {
3454-+
3455-+ EventLog::const_iterator last_selected = _event_log->getCurrEvent();
3456-+
3457-+ /* Selecting a collapsed parent event is equal to selecting the last child
3458-+ * of that parent's branch.
3459-+ */
3460-+
3461-+ if ( !selected->children().empty() &&
3462-+ !_event_list_view.row_expanded(_event_list_store->get_path(selected)) )
3463-+ {
3464-+ selected = selected->children().end();
3465-+ --selected;
3466-+ }
3467-+
3468-+ // An event before the current one has been selected. Undo to the selected event.
3469-+ if ( _event_list_store->get_path(selected) <
3470-+ _event_list_store->get_path(last_selected) )
3471-+ {
3472-+ _event_log->blockNotifications();
3473-+
3474-+ while ( selected != last_selected ) {
3475-+
3476-+ sp_document_undo(_document);
3477-+
3478-+ if ( last_selected->parent() &&
3479-+ last_selected == last_selected->parent()->children().begin() )
3480-+ {
3481-+ last_selected = last_selected->parent();
3482-+ _event_log->setCurrEventParent((EventLog::iterator)NULL);
3483-+ } else {
3484-+ --last_selected;
3485-+ if ( !last_selected->children().empty() ) {
3486-+ _event_log->setCurrEventParent(last_selected);
3487-+ last_selected = last_selected->children().end();
3488-+ --last_selected;
3489-+ }
3490-+ }
3491-+ }
3492-+ _event_log->blockNotifications(false);
3493-+ _event_log->updateUndoVerbs();
3494-+
3495-+ } else { // An event after the current one has been selected. Redo to the selected event.
3496-+
3497-+ _event_log->blockNotifications();
3498-+
3499-+ while ( selected != last_selected ) {
3500-+
3501-+ sp_document_redo(_document);
3502-+
3503-+ if ( !last_selected->children().empty() ) {
3504-+ _event_log->setCurrEventParent(last_selected);
3505-+ last_selected = last_selected->children().begin();
3506-+ } else {
3507-+ ++last_selected;
3508-+ if ( last_selected->parent() &&
3509-+ last_selected == last_selected->parent()->children().end() )
3510-+ {
3511-+ last_selected = last_selected->parent();
3512-+ ++last_selected;
3513-+ _event_log->setCurrEventParent((EventLog::iterator)NULL);
3514-+ }
3515-+ }
3516-+ }
3517-+ _event_log->blockNotifications(false);
3518-+
3519-+ }
3520-+
3521-+ _event_log->setCurrEvent(selected);
3522-+ _event_log->updateUndoVerbs();
3523-+ }
3524-+
3525-+}
3526-+
3527-+void
3528-+UndoHistory::_onExpandEvent(const Gtk::TreeModel::iterator &iter, const Gtk::TreeModel::Path &/*path*/)
3529-+{
3530-+ if ( iter == _event_list_selection->get_selected() ) {
3531-+ _event_list_selection->select(_event_log->getCurrEvent());
3532-+ }
3533-+}
3534-+
3535-+void
3536-+UndoHistory::_onCollapseEvent(const Gtk::TreeModel::iterator &iter, const Gtk::TreeModel::Path &/*path*/)
3537-+{
3538-+ // Collapsing a branch we're currently in is equal to stepping to the last event in that branch
3539-+ if ( iter == _event_log->getCurrEvent() ) {
3540-+ EventLog::const_iterator curr_event_parent = _event_log->getCurrEvent();
3541-+ EventLog::const_iterator curr_event = curr_event_parent->children().begin();
3542-+ EventLog::const_iterator last = curr_event_parent->children().end();
3543-+
3544-+ _event_log->blockNotifications();
3545-+ sp_document_redo(_document);
3546-+
3547-+ for ( --last ; curr_event != last ; ++curr_event ) {
3548-+ sp_document_redo(_document);
3549-+ }
3550-+ _event_log->blockNotifications(false);
3551-+
3552-+ _event_log->setCurrEvent(curr_event);
3553-+ _event_log->setCurrEventParent(curr_event_parent);
3554-+ _event_list_selection->select(curr_event_parent);
3555-+ }
3556-+}
3557-+
3558-+const CellRendererInt::Filter& UndoHistory::greater_than_1 = UndoHistory::GreaterThan(1);
3559-+
3560-+} // namespace Dialog
3561-+} // namespace UI
3562-+} // namespace Inkscape
3563-+
3564-+/*
3565-+ Local Variables:
3566-+ mode:c++
3567-+ c-file-style:"stroustrup"
3568-+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
3569-+ indent-tabs-mode:nil
3570-+ fill-column:99
3571-+ End:
3572-+*/
3573-+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
3574-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/tool/control-point-selection.h inkscape-0.48.1/src/ui/tool/control-point-selection.h
3575---- inkscape-0.48.1~/src/ui/tool/control-point-selection.h 2010-08-04 17:45:00.000000000 +0100
3576-+++ inkscape-0.48.1/src/ui/tool/control-point-selection.h 2011-05-01 00:56:19.611250878 +0100
3577-@@ -14,6 +14,7 @@
3578-
3579- #include <memory>
3580- #include <boost/optional.hpp>
3581-+#include <stddef.h>
3582- #include <sigc++/sigc++.h>
3583- #include <2geom/forward.h>
3584- #include <2geom/point.h>
3585-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/tool/control-point.h inkscape-0.48.1/src/ui/tool/control-point.h
3586---- inkscape-0.48.1~/src/ui/tool/control-point.h 2010-07-13 04:48:40.000000000 +0100
3587-+++ inkscape-0.48.1/src/ui/tool/control-point.h 2011-05-01 00:56:19.611250878 +0100
3588-@@ -12,6 +12,7 @@
3589- #define SEEN_UI_TOOL_CONTROL_POINT_H
3590-
3591- #include <boost/utility.hpp>
3592-+#include <stddef.h>
3593- #include <sigc++/sigc++.h>
3594- #include <gdkmm.h>
3595- #include <gtkmm.h>
3596-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/tool/manipulator.h inkscape-0.48.1/src/ui/tool/manipulator.h
3597---- inkscape-0.48.1~/src/ui/tool/manipulator.h 2010-07-13 04:48:40.000000000 +0100
3598-+++ inkscape-0.48.1/src/ui/tool/manipulator.h 2011-05-01 00:56:19.611250878 +0100
3599-@@ -13,6 +13,7 @@
3600-
3601- #include <set>
3602- #include <map>
3603-+#include <stddef.h>
3604- #include <sigc++/sigc++.h>
3605- #include <glib.h>
3606- #include <gdk/gdk.h>
3607-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/tool/multi-path-manipulator.h inkscape-0.48.1/src/ui/tool/multi-path-manipulator.h
3608---- inkscape-0.48.1~/src/ui/tool/multi-path-manipulator.h 2010-11-06 18:47:19.000000000 +0000
3609-+++ inkscape-0.48.1/src/ui/tool/multi-path-manipulator.h 2011-05-01 00:56:19.611250878 +0100
3610-@@ -11,6 +11,7 @@
3611- #ifndef SEEN_UI_TOOL_MULTI_PATH_MANIPULATOR_H
3612- #define SEEN_UI_TOOL_MULTI_PATH_MANIPULATOR_H
3613-
3614-+#include <stddef.h>
3615- #include <sigc++/connection.h>
3616- #include "display/display-forward.h"
3617- #include "forward.h"
3618-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/tool/multi-path-manipulator.h.orig inkscape-0.48.1/src/ui/tool/multi-path-manipulator.h.orig
3619---- inkscape-0.48.1~/src/ui/tool/multi-path-manipulator.h.orig 1970-01-01 01:00:00.000000000 +0100
3620-+++ inkscape-0.48.1/src/ui/tool/multi-path-manipulator.h.orig 2010-11-06 18:47:19.000000000 +0000
3621-@@ -0,0 +1,139 @@
3622-+/** @file
3623-+ * Multi path manipulator - a tool component that edits multiple paths at once
3624-+ */
3625-+/* Authors:
3626-+ * Krzysztof KosiƄski <tweenk.pl@gmail.com>
3627-+ *
3628-+ * Copyright (C) 2009 Authors
3629-+ * Released under GNU GPL, read the file 'COPYING' for more information
3630-+ */
3631-+
3632-+#ifndef SEEN_UI_TOOL_MULTI_PATH_MANIPULATOR_H
3633-+#define SEEN_UI_TOOL_MULTI_PATH_MANIPULATOR_H
3634-+
3635-+#include <sigc++/connection.h>
3636-+#include "display/display-forward.h"
3637-+#include "forward.h"
3638-+#include "ui/tool/commit-events.h"
3639-+#include "ui/tool/manipulator.h"
3640-+#include "ui/tool/modifier-tracker.h"
3641-+#include "ui/tool/node.h"
3642-+#include "ui/tool/node-types.h"
3643-+#include "ui/tool/shape-record.h"
3644-+
3645-+struct SPCanvasGroup;
3646-+
3647-+namespace Inkscape {
3648-+namespace UI {
3649-+
3650-+class PathManipulator;
3651-+class MultiPathManipulator;
3652-+struct PathSharedData;
3653-+
3654-+/**
3655-+ * Manipulator that manages multiple path manipulators active at the same time.
3656-+ */
3657-+class MultiPathManipulator : public PointManipulator {
3658-+public:
3659-+ MultiPathManipulator(PathSharedData &data, sigc::connection &chg);
3660-+ virtual ~MultiPathManipulator();
3661-+ virtual bool event(GdkEvent *event);
3662-+
3663-+ bool empty() { return _mmap.empty(); }
3664-+ unsigned size() { return _mmap.empty(); }
3665-+ void setItems(std::set<ShapeRecord> const &);
3666-+ void clear() { _mmap.clear(); }
3667-+ void cleanup();
3668-+
3669-+ void selectSubpaths();
3670-+ void shiftSelection(int dir);
3671-+ void invertSelectionInSubpaths();
3672-+
3673-+ void setNodeType(NodeType t);
3674-+ void setSegmentType(SegmentType t);
3675-+
3676-+ void insertNodes();
3677-+ void duplicateNodes();
3678-+ void joinNodes();
3679-+ void breakNodes();
3680-+ void deleteNodes(bool keep_shape = true);
3681-+ void joinSegments();
3682-+ void deleteSegments();
3683-+ void alignNodes(Geom::Dim2 d);
3684-+ void distributeNodes(Geom::Dim2 d);
3685-+ void reverseSubpaths();
3686-+ void move(Geom::Point const &delta);
3687-+
3688-+ void showOutline(bool show);
3689-+ void showHandles(bool show);
3690-+ void showPathDirection(bool show);
3691-+ void setLiveOutline(bool set);
3692-+ void setLiveObjects(bool set);
3693-+ void updateOutlineColors();
3694-+
3695-+ sigc::signal<void> signal_coords_changed; /// Emitted whenever the coordinates
3696-+ /// shown in the status bar need updating
3697-+private:
3698-+ typedef std::pair<ShapeRecord, boost::shared_ptr<PathManipulator> > MapPair;
3699-+ typedef std::map<ShapeRecord, boost::shared_ptr<PathManipulator> > MapType;
3700-+
3701-+ template <typename R>
3702-+ void invokeForAll(R (PathManipulator::*method)()) {
3703-+ for (MapType::iterator i = _mmap.begin(); i != _mmap.end(); ++i) {
3704-+ ((i->second.get())->*method)();
3705-+ }
3706-+ }
3707-+ template <typename R, typename A>
3708-+ void invokeForAll(R (PathManipulator::*method)(A), A a) {
3709-+ for (MapType::iterator i = _mmap.begin(); i != _mmap.end(); ++i) {
3710-+ ((i->second.get())->*method)(a);
3711-+ }
3712-+ }
3713-+ template <typename R, typename A>
3714-+ void invokeForAll(R (PathManipulator::*method)(A const &), A const &a) {
3715-+ for (MapType::iterator i = _mmap.begin(); i != _mmap.end(); ++i) {
3716-+ ((i->second.get())->*method)(a);
3717-+ }
3718-+ }
3719-+ template <typename R, typename A, typename B>
3720-+ void invokeForAll(R (PathManipulator::*method)(A,B), A a, B b) {
3721-+ for (MapType::iterator i = _mmap.begin(); i != _mmap.end(); ++i) {
3722-+ ((i->second.get())->*method)(a, b);
3723-+ }
3724-+ }
3725-+
3726-+ void _commit(CommitEvent cps);
3727-+ void _done(gchar const *);
3728-+ void _doneWithCleanup(gchar const *);
3729-+ guint32 _getOutlineColor(ShapeRole role);
3730-+
3731-+ MapType _mmap;
3732-+public:
3733-+ PathSharedData const &_path_data;
3734-+private:
3735-+ sigc::connection &_changed;
3736-+ ModifierTracker _tracker;
3737-+ bool _show_handles;
3738-+ bool _show_outline;
3739-+ bool _show_path_direction;
3740-+ bool _live_outline;
3741-+ bool _live_objects;
3742-+
3743-+ friend class PathManipulator;
3744-+};
3745-+
3746-+} // namespace UI
3747-+} // namespace Inkscape
3748-+
3749-+#endif
3750-+
3751-+/*
3752-+ Local Variables:
3753-+ mode:c++
3754-+ c-file-style:"stroustrup"
3755-+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
3756-+ indent-tabs-mode:nil
3757-+ fill-column:99
3758-+ End:
3759-+*/
3760-+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
3761-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/tool/node-tool.h inkscape-0.48.1/src/ui/tool/node-tool.h
3762---- inkscape-0.48.1~/src/ui/tool/node-tool.h 2010-11-06 18:47:19.000000000 +0000
3763-+++ inkscape-0.48.1/src/ui/tool/node-tool.h 2011-05-01 00:56:19.611250878 +0100
3764-@@ -14,6 +14,7 @@
3765- #include <memory>
3766- #include <boost/ptr_container/ptr_map.hpp>
3767- #include <glib.h>
3768-+#include <stddef.h>
3769- #include <sigc++/sigc++.h>
3770- #include "event-context.h"
3771- #include "forward.h"
3772-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/tool/node.h inkscape-0.48.1/src/ui/tool/node.h
3773---- inkscape-0.48.1~/src/ui/tool/node.h 2011-01-02 04:34:09.000000000 +0000
3774-+++ inkscape-0.48.1/src/ui/tool/node.h 2011-05-01 00:56:19.611250878 +0100
3775-@@ -15,6 +15,7 @@
3776- #include <iterator>
3777- #include <iosfwd>
3778- #include <stdexcept>
3779-+#include <cstddef>
3780- #include <tr1/functional>
3781- #include <boost/utility.hpp>
3782- #include <boost/shared_ptr.hpp>
3783-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/view/view.h inkscape-0.48.1/src/ui/view/view.h
3784---- inkscape-0.48.1~/src/ui/view/view.h 2010-07-13 04:48:40.000000000 +0100
3785-+++ inkscape-0.48.1/src/ui/view/view.h 2011-05-01 00:56:19.611250878 +0100
3786-@@ -15,6 +15,7 @@
3787- */
3788-
3789- #include <gdk/gdktypes.h>
3790-+#include <stddef.h>
3791- #include <sigc++/connection.h>
3792- #include "message.h"
3793- #include "gc-managed.h"
3794-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/widget/color-picker.h inkscape-0.48.1/src/ui/widget/color-picker.h
3795---- inkscape-0.48.1~/src/ui/widget/color-picker.h 2010-07-13 04:48:40.000000000 +0100
3796-+++ inkscape-0.48.1/src/ui/widget/color-picker.h 2011-05-01 00:56:19.611250878 +0100
3797-@@ -13,6 +13,7 @@
3798- #ifndef __COLOR_PICKER_H__
3799- #define __COLOR_PICKER_H__
3800-
3801-+#include <stddef.h>
3802- #include <sigc++/sigc++.h>
3803- #include <gtkmm/button.h>
3804- #include <gtkmm/dialog.h>
3805-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/widget/page-sizer.h inkscape-0.48.1/src/ui/widget/page-sizer.h
3806---- inkscape-0.48.1~/src/ui/widget/page-sizer.h 2010-07-13 04:48:40.000000000 +0100
3807-+++ inkscape-0.48.1/src/ui/widget/page-sizer.h 2011-05-01 00:56:19.611250878 +0100
3808-@@ -13,6 +13,7 @@
3809- #define INKSCAPE_UI_WIDGET_PAGE_SIZER__H
3810-
3811- #include <gtkmm.h>
3812-+#include <stddef.h>
3813- #include <sigc++/sigc++.h>
3814-
3815- #include "helper/units.h"
3816-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/widget/preferences-widget.h inkscape-0.48.1/src/ui/widget/preferences-widget.h
3817---- inkscape-0.48.1~/src/ui/widget/preferences-widget.h 2010-07-13 04:48:40.000000000 +0100
3818-+++ inkscape-0.48.1/src/ui/widget/preferences-widget.h 2011-05-01 00:56:19.611250878 +0100
3819-@@ -26,6 +26,7 @@
3820- #include <gtkmm/drawingarea.h>
3821- #include <gtkmm/frame.h>
3822- #include <gtkmm/filechooserbutton.h>
3823-+#include <stddef.h>
3824- #include <sigc++/sigc++.h>
3825- #include <glibmm/i18n.h>
3826-
3827-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/widget/selected-style.h inkscape-0.48.1/src/ui/widget/selected-style.h
3828---- inkscape-0.48.1~/src/ui/widget/selected-style.h 2010-07-13 04:48:40.000000000 +0100
3829-+++ inkscape-0.48.1/src/ui/widget/selected-style.h 2011-05-01 00:56:19.611250878 +0100
3830-@@ -23,6 +23,7 @@
3831- #include <gtkmm/adjustment.h>
3832- #include <gtkmm/spinbutton.h>
3833-
3834-+#include <stddef.h>
3835- #include <sigc++/sigc++.h>
3836-
3837- #include <glibmm/i18n.h>
3838-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/widget/style-subject.h inkscape-0.48.1/src/ui/widget/style-subject.h
3839---- inkscape-0.48.1~/src/ui/widget/style-subject.h 2010-07-13 04:48:40.000000000 +0100
3840-+++ inkscape-0.48.1/src/ui/widget/style-subject.h 2011-05-01 00:56:19.611250878 +0100
3841-@@ -14,6 +14,7 @@
3842- #include "libnr/nr-rect.h"
3843- #include <2geom/rect.h>
3844- #include "sp-item.h"
3845-+#include <stddef.h>
3846- #include <sigc++/sigc++.h>
3847-
3848- class SPDesktop;
3849-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/uri-references.h inkscape-0.48.1/src/uri-references.h
3850---- inkscape-0.48.1~/src/uri-references.h 2010-07-13 04:48:40.000000000 +0100
3851-+++ inkscape-0.48.1/src/uri-references.h 2011-05-01 00:56:19.611250878 +0100
3852-@@ -13,6 +13,7 @@
3853- * Released under GNU GPL, read the file 'COPYING' for more information
3854- */
3855-
3856-+#include <stddef.h>
3857- #include <sigc++/connection.h>
3858- #include <sigc++/trackable.h>
3859-
3860-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/uri-references.h.orig inkscape-0.48.1/src/uri-references.h.orig
3861---- inkscape-0.48.1~/src/uri-references.h.orig 1970-01-01 01:00:00.000000000 +0100
3862-+++ inkscape-0.48.1/src/uri-references.h.orig 2010-07-13 04:48:40.000000000 +0100
3863-@@ -0,0 +1,152 @@
3864-+#ifndef __SP_URI_REFERENCES_H__
3865-+#define __SP_URI_REFERENCES_H__
3866-+
3867-+/*
3868-+ * Helper methods for resolving URI References
3869-+ *
3870-+ * Authors:
3871-+ * Lauris Kaplinski <lauris@kaplinski.com>
3872-+ *
3873-+ * Copyright (C) 2001-2002 Lauris Kaplinski
3874-+ * Copyright (C) 2001 Ximian, Inc.
3875-+ *
3876-+ * Released under GNU GPL, read the file 'COPYING' for more information
3877-+ */
3878-+
3879-+#include <sigc++/connection.h>
3880-+#include <sigc++/trackable.h>
3881-+
3882-+#include "bad-uri-exception.h"
3883-+#include "forward.h"
3884-+
3885-+namespace Inkscape {
3886-+
3887-+/**
3888-+ * A class encapsulating a reference to a particular URI; observers can
3889-+ * be notified when the URI comes to reference a different SPObject.
3890-+ *
3891-+ * The URIReference increments and decrements the SPObject's hrefcount
3892-+ * automatically.
3893-+ *
3894-+ * @see SPObject
3895-+ * @see sp_object_href
3896-+ * @see sp_object_hunref
3897-+ */
3898-+class URIReference : public sigc::trackable {
3899-+public:
3900-+ /**
3901-+ * Constructor.
3902-+ *
3903-+ * @param owner The object on whose behalf this URIReference
3904-+ * is holding a reference to the target object.
3905-+ */
3906-+ URIReference(SPObject *owner);
3907-+ URIReference(SPDocument *owner_document);
3908-+
3909-+ /**
3910-+ * Destructor. Calls shutdown() if the reference has not been
3911-+ * shut down yet.
3912-+ */
3913-+ virtual ~URIReference();
3914-+
3915-+ /**
3916-+ * Attaches to a URI, relative to the specified document.
3917-+ *
3918-+ * Throws a BadURIException if the URI is unsupported,
3919-+ * or the fragment identifier is xpointer and malformed.
3920-+ *
3921-+ * @param rel_document document for relative URIs
3922-+ * @param uri the URI to watch
3923-+ */
3924-+ void attach(const URI &uri) throw(BadURIException);
3925-+
3926-+ /**
3927-+ * Detaches from the currently attached URI target, if any;
3928-+ * the current referrent is signaled as NULL.
3929-+ */
3930-+ void detach();
3931-+
3932-+ /**
3933-+ * @brief Returns a pointer to the current referrent of the
3934-+ * attached URI, or NULL.
3935-+ *
3936-+ * @return a pointer to the referenced SPObject or NULL
3937-+ */
3938-+ SPObject *getObject() const { return _obj; }
3939-+
3940-+ /**
3941-+ * @brief Returns a pointer to the URIReference's owner
3942-+ *
3943-+ * @return a pointer to the URIReference's owner
3944-+ */
3945-+ SPObject *getOwner() const { return _owner; }
3946-+
3947-+ /**
3948-+ * Accessor for the referrent change notification signal;
3949-+ * this signal is emitted whenever the URIReference's
3950-+ * referrent changes.
3951-+ *
3952-+ * Signal handlers take two parameters: the old and new
3953-+ * referrents.
3954-+ *
3955-+ * @returns a signal
3956-+ */
3957-+ sigc::signal<void, SPObject *, SPObject *> changedSignal() {
3958-+ return _changed_signal;
3959-+ }
3960-+
3961-+ /**
3962-+ * Returns a pointer to a URI containing the currently attached
3963-+ * URI, or NULL if no URI is currently attached.
3964-+ *
3965-+ * @returns the currently attached URI, or NULL
3966-+ */
3967-+ const URI *getURI() const {
3968-+ return _uri;
3969-+ }
3970-+
3971-+ /**
3972-+ * Returns true if there is currently an attached URI
3973-+ *
3974-+ * @returns true if there is an attached URI
3975-+ */
3976-+ bool isAttached() const {
3977-+ return (bool)_uri;
3978-+ }
3979-+
3980-+ SPDocument *getOwnerDocument() { return _owner_document; }
3981-+ SPObject *getOwnerObject() { return _owner; }
3982-+
3983-+protected:
3984-+ virtual bool _acceptObject(SPObject *obj) const {
3985-+ (void)obj;
3986-+ return true;
3987-+ }
3988-+
3989-+private:
3990-+ SPObject *_owner;
3991-+ SPDocument *_owner_document;
3992-+ sigc::connection _connection;
3993-+ sigc::connection _release_connection;
3994-+ SPObject *_obj;
3995-+ URI *_uri;
3996-+
3997-+ sigc::signal<void, SPObject *, SPObject *> _changed_signal;
3998-+
3999-+ void _setObject(SPObject *object);
4000-+ void _release(SPObject *object);
4001-+
4002-+ void operator=(const URIReference &ref);
4003-+ /* Private and definition-less to prevent accidental use. */
4004-+};
4005-+
4006-+}
4007-+
4008-+/**
4009-+ * Resolves an item referenced by a URI in CSS form contained in "url(...)"
4010-+ */
4011-+SPObject* sp_css_uri_reference_resolve( SPDocument *document, const gchar *uri );
4012-+
4013-+SPObject *sp_uri_reference_resolve (SPDocument *document, const gchar *uri);
4014-+
4015-+#endif
4016-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/util/forward-pointer-iterator.h inkscape-0.48.1/src/util/forward-pointer-iterator.h
4017---- inkscape-0.48.1~/src/util/forward-pointer-iterator.h 2010-07-13 04:48:40.000000000 +0100
4018-+++ inkscape-0.48.1/src/util/forward-pointer-iterator.h 2011-05-01 00:56:19.611250878 +0100
4019-@@ -15,6 +15,7 @@
4020- #define SEEN_INKSCAPE_UTIL_FORWARD_POINTER_ITERATOR_H
4021-
4022- #include <iterator>
4023-+#include <cstddef>
4024- #include "util/reference.h"
4025-
4026- namespace Inkscape {
4027-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/util/share.h inkscape-0.48.1/src/util/share.h
4028---- inkscape-0.48.1~/src/util/share.h 2010-07-13 04:48:40.000000000 +0100
4029-+++ inkscape-0.48.1/src/util/share.h 2011-05-01 00:56:19.611250878 +0100
4030-@@ -14,6 +14,7 @@
4031-
4032- #include "gc-core.h"
4033- #include <cstring>
4034-+#include <cstddef>
4035-
4036- namespace Inkscape {
4037- namespace Util {
4038-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/util/unordered-containers.h inkscape-0.48.1/src/util/unordered-containers.h
4039---- inkscape-0.48.1~/src/util/unordered-containers.h 2010-07-13 04:48:40.000000000 +0100
4040-+++ inkscape-0.48.1/src/util/unordered-containers.h 2011-05-01 00:56:19.611250878 +0100
4041-@@ -41,6 +41,8 @@
4042- # define INK_UNORDERED_MAP __gnu_cxx::hash_map
4043- # define INK_HASH __gnu_cxx::hash
4044-
4045-+#include <cstddef>
4046-+
4047- namespace __gnu_cxx {
4048- // hash function for pointers
4049- // TR1 and Boost have this defined by default, __gnu_cxx doesn't
4050-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/widgets/desktop-widget.h inkscape-0.48.1/src/widgets/desktop-widget.h
4051---- inkscape-0.48.1~/src/widgets/desktop-widget.h 2010-07-13 04:48:40.000000000 +0100
4052-+++ inkscape-0.48.1/src/widgets/desktop-widget.h 2011-05-01 00:56:19.611250878 +0100
4053-@@ -21,6 +21,7 @@
4054- #include "ui/view/view-widget.h"
4055- #include "ui/view/edit-widget-interface.h"
4056-
4057-+#include <stddef.h>
4058- #include <sigc++/connection.h>
4059-
4060- // forward declaration
4061-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/widgets/desktop-widget.h.orig inkscape-0.48.1/src/widgets/desktop-widget.h.orig
4062---- inkscape-0.48.1~/src/widgets/desktop-widget.h.orig 1970-01-01 01:00:00.000000000 +0100
4063-+++ inkscape-0.48.1/src/widgets/desktop-widget.h.orig 2010-07-13 04:48:40.000000000 +0100
4064-@@ -0,0 +1,268 @@
4065-+#ifndef SEEN_SP_DESKTOP_WIDGET_H
4066-+#define SEEN_SP_DESKTOP_WIDGET_H
4067-+
4068-+/** \file
4069-+ * SPDesktopWidget: handling Gtk events on a desktop.
4070-+ *
4071-+ * Authors:
4072-+ * Jon A. Cruz <jon@joncruz.org> (c) 2010
4073-+ * John Bintz <jcoswell@coswellproductions.org> (c) 2006
4074-+ * Ralf Stephan <ralf@ark.in-berlin.de> (c) 2005, distrib. under GPL2
4075-+ * ? -2004
4076-+ */
4077-+
4078-+#include <gtk/gtktooltips.h>
4079-+#include <gtk/gtkwindow.h>
4080-+
4081-+#include "display/display-forward.h"
4082-+#include "libnr/nr-point.h"
4083-+#include "forward.h"
4084-+#include "message.h"
4085-+#include "ui/view/view-widget.h"
4086-+#include "ui/view/edit-widget-interface.h"
4087-+
4088-+#include <sigc++/connection.h>
4089-+
4090-+// forward declaration
4091-+typedef struct _EgeColorProfTracker EgeColorProfTracker;
4092-+
4093-+
4094-+#define SP_TYPE_DESKTOP_WIDGET SPDesktopWidget::getType()
4095-+#define SP_DESKTOP_WIDGET(o) (GTK_CHECK_CAST ((o), SP_TYPE_DESKTOP_WIDGET, SPDesktopWidget))
4096-+#define SP_DESKTOP_WIDGET_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_DESKTOP_WIDGET, SPDesktopWidgetClass))
4097-+#define SP_IS_DESKTOP_WIDGET(o) (GTK_CHECK_TYPE ((o), SP_TYPE_DESKTOP_WIDGET))
4098-+#define SP_IS_DESKTOP_WIDGET_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_DESKTOP_WIDGET))
4099-+
4100-+void sp_desktop_widget_destroy (SPDesktopWidget* dtw);
4101-+
4102-+void sp_desktop_widget_show_decorations(SPDesktopWidget *dtw, gboolean show);
4103-+void sp_desktop_widget_iconify(SPDesktopWidget *dtw);
4104-+void sp_desktop_widget_maximize(SPDesktopWidget *dtw);
4105-+void sp_desktop_widget_fullscreen(SPDesktopWidget *dtw);
4106-+void sp_desktop_widget_update_zoom(SPDesktopWidget *dtw);
4107-+void sp_desktop_widget_update_rulers (SPDesktopWidget *dtw);
4108-+void sp_desktop_widget_update_hruler (SPDesktopWidget *dtw);
4109-+void sp_desktop_widget_update_vruler (SPDesktopWidget *dtw);
4110-+
4111-+/* Show/hide rulers & scrollbars */
4112-+void sp_desktop_widget_toggle_rulers (SPDesktopWidget *dtw);
4113-+void sp_desktop_widget_toggle_scrollbars (SPDesktopWidget *dtw);
4114-+void sp_desktop_widget_update_scrollbars (SPDesktopWidget *dtw, double scale);
4115-+void sp_desktop_widget_toggle_color_prof_adj( SPDesktopWidget *dtw );
4116-+
4117-+void sp_dtw_desktop_activate (SPDesktopWidget *dtw);
4118-+void sp_dtw_desktop_deactivate (SPDesktopWidget *dtw);
4119-+
4120-+namespace Inkscape { namespace Widgets { class LayerSelector; } }
4121-+
4122-+namespace Inkscape { namespace UI { namespace Widget { class SelectedStyle; } } }
4123-+
4124-+namespace Inkscape { namespace UI { namespace Dialogs { class SwatchesPanel; } } }
4125-+
4126-+/// A GtkEventBox on an SPDesktop.
4127-+struct SPDesktopWidget {
4128-+ SPViewWidget viewwidget;
4129-+
4130-+ unsigned int update : 1;
4131-+
4132-+ sigc::connection modified_connection;
4133-+
4134-+ GtkTooltips *tt;
4135-+
4136-+ SPDesktop *desktop;
4137-+
4138-+ Gtk::Window *window;
4139-+
4140-+ // The root vbox of the window layout.
4141-+ GtkWidget *vbox;
4142-+
4143-+ GtkWidget *hbox;
4144-+
4145-+ GtkWidget *menubar, *statusbar;
4146-+
4147-+ Inkscape::UI::Dialogs::SwatchesPanel *panels;
4148-+
4149-+ GtkWidget *hscrollbar, *vscrollbar, *vscrollbar_box;
4150-+
4151-+ /* Rulers */
4152-+ GtkWidget *hruler, *vruler;
4153-+ GtkWidget *hruler_box, *vruler_box; // eventboxes for setting tooltips
4154-+
4155-+ GtkWidget *sticky_zoom;
4156-+ GtkWidget *cms_adjust;
4157-+ GtkWidget *coord_status;
4158-+ GtkWidget *coord_status_x;
4159-+ GtkWidget *coord_status_y;
4160-+ GtkWidget *select_status;
4161-+ GtkWidget *select_status_eventbox;
4162-+ GtkWidget *zoom_status;
4163-+ gulong zoom_update;
4164-+
4165-+ Inkscape::UI::Widget::Dock *dock;
4166-+
4167-+ Inkscape::UI::Widget::SelectedStyle *selected_style;
4168-+
4169-+ gint coord_status_id, select_status_id;
4170-+
4171-+ unsigned int _interaction_disabled_counter;
4172-+
4173-+ SPCanvas *canvas;
4174-+ Geom::Point ruler_origin;
4175-+ double dt2r;
4176-+
4177-+ GtkAdjustment *hadj, *vadj;
4178-+
4179-+ Inkscape::Widgets::LayerSelector *layer_selector;
4180-+
4181-+ EgeColorProfTracker* _tracker;
4182-+
4183-+ struct WidgetStub : public Inkscape::UI::View::EditWidgetInterface {
4184-+ SPDesktopWidget *_dtw;
4185-+ SPDesktop *_dt;
4186-+ WidgetStub (SPDesktopWidget* dtw) : _dtw(dtw) {}
4187-+
4188-+ virtual void setTitle (gchar const *uri)
4189-+ { _dtw->updateTitle (uri); }
4190-+ virtual Gtk::Window* getWindow()
4191-+ { return _dtw->window; }
4192-+
4193-+ virtual void layout() {
4194-+ _dtw->layoutWidgets();
4195-+ }
4196-+
4197-+ virtual void present()
4198-+ { _dtw->presentWindow(); }
4199-+ virtual void getGeometry (gint &x, gint &y, gint &w, gint &h)
4200-+ { _dtw->getWindowGeometry (x, y, w, h); }
4201-+ virtual void setSize (gint w, gint h)
4202-+ { _dtw->setWindowSize (w, h); }
4203-+ virtual void setPosition (Geom::Point p)
4204-+ { _dtw->setWindowPosition (p); }
4205-+ virtual void setTransient (void* p, int transient_policy)
4206-+ { _dtw->setWindowTransient (p, transient_policy); }
4207-+ virtual Geom::Point getPointer()
4208-+ { return _dtw->window_get_pointer(); }
4209-+ virtual void setIconified()
4210-+ { sp_desktop_widget_iconify (_dtw); }
4211-+ virtual void setMaximized()
4212-+ { sp_desktop_widget_maximize (_dtw); }
4213-+ virtual void setFullscreen()
4214-+ { sp_desktop_widget_fullscreen (_dtw); }
4215-+ virtual bool shutdown()
4216-+ { return _dtw->shutdown(); }
4217-+ virtual void destroy()
4218-+ {
4219-+ if(_dtw->window != NULL)
4220-+ delete _dtw->window;
4221-+ _dtw->window = NULL;
4222-+ }
4223-+
4224-+ virtual void requestCanvasUpdate()
4225-+ { _dtw->requestCanvasUpdate(); }
4226-+ virtual void requestCanvasUpdateAndWait()
4227-+ { _dtw->requestCanvasUpdateAndWait(); }
4228-+ virtual void enableInteraction()
4229-+ { _dtw->enableInteraction(); }
4230-+ virtual void disableInteraction()
4231-+ { _dtw->disableInteraction(); }
4232-+ virtual void activateDesktop()
4233-+ { sp_dtw_desktop_activate (_dtw); }
4234-+ virtual void deactivateDesktop()
4235-+ { sp_dtw_desktop_deactivate (_dtw); }
4236-+ virtual void viewSetPosition (Geom::Point p)
4237-+ { _dtw->viewSetPosition (p); }
4238-+ virtual void updateRulers()
4239-+ { sp_desktop_widget_update_rulers (_dtw); }
4240-+ virtual void updateScrollbars (double scale)
4241-+ { sp_desktop_widget_update_scrollbars (_dtw, scale); }
4242-+ virtual void toggleRulers()
4243-+ { sp_desktop_widget_toggle_rulers (_dtw); }
4244-+ virtual void toggleScrollbars()
4245-+ { sp_desktop_widget_toggle_scrollbars (_dtw); }
4246-+ virtual void toggleColorProfAdjust()
4247-+ { sp_desktop_widget_toggle_color_prof_adj(_dtw); }
4248-+ virtual void updateZoom()
4249-+ { sp_desktop_widget_update_zoom (_dtw); }
4250-+ virtual void letZoomGrabFocus()
4251-+ { _dtw->letZoomGrabFocus(); }
4252-+ virtual void setToolboxFocusTo (const gchar * id)
4253-+ { _dtw->setToolboxFocusTo (id); }
4254-+ virtual void setToolboxAdjustmentValue (const gchar *id, double val)
4255-+ { _dtw->setToolboxAdjustmentValue (id, val); }
4256-+ virtual void setToolboxSelectOneValue (gchar const *id, int val)
4257-+ { _dtw->setToolboxSelectOneValue (id, val); }
4258-+ virtual bool isToolboxButtonActive (gchar const* id)
4259-+ { return _dtw->isToolboxButtonActive (id); }
4260-+ virtual void setCoordinateStatus (Geom::Point p)
4261-+ { _dtw->setCoordinateStatus (p); }
4262-+ virtual void setMessage (Inkscape::MessageType type, gchar const* msg)
4263-+ { _dtw->setMessage (type, msg); }
4264-+ virtual bool warnDialog (gchar* text)
4265-+ { return _dtw->warnDialog (text); }
4266-+ virtual Inkscape::UI::Widget::Dock* getDock ()
4267-+ { return _dtw->getDock(); }
4268-+ };
4269-+
4270-+ WidgetStub *stub;
4271-+
4272-+ void setMessage(Inkscape::MessageType type, gchar const *message);
4273-+ Geom::Point window_get_pointer();
4274-+ bool shutdown();
4275-+ void viewSetPosition (Geom::Point p);
4276-+ void letZoomGrabFocus();
4277-+ void getWindowGeometry (gint &x, gint &y, gint &w, gint &h);
4278-+ void setWindowPosition (Geom::Point p);
4279-+ void setWindowSize (gint w, gint h);
4280-+ void setWindowTransient (void *p, int transient_policy);
4281-+ void presentWindow();
4282-+ bool warnDialog (gchar *text);
4283-+ void setToolboxFocusTo (gchar const *);
4284-+ void setToolboxAdjustmentValue (gchar const * id, double value);
4285-+ void setToolboxSelectOneValue (gchar const * id, gint value);
4286-+ bool isToolboxButtonActive (gchar const *id);
4287-+ void setToolboxPosition(Glib::ustring const& id, GtkPositionType pos);
4288-+ void setCoordinateStatus(Geom::Point p);
4289-+ void requestCanvasUpdate();
4290-+ void requestCanvasUpdateAndWait();
4291-+ void enableInteraction();
4292-+ void disableInteraction();
4293-+ void updateTitle(gchar const *uri);
4294-+ bool onFocusInEvent(GdkEventFocus*);
4295-+
4296-+ Inkscape::UI::Widget::Dock* getDock();
4297-+
4298-+ static GtkType getType();
4299-+ static SPDesktopWidget* createInstance(SPNamedView *namedview);
4300-+
4301-+ void updateNamedview();
4302-+
4303-+private:
4304-+ GtkWidget *tool_toolbox;
4305-+ GtkWidget *aux_toolbox;
4306-+ GtkWidget *commands_toolbox,;
4307-+ GtkWidget *snap_toolbox;
4308-+
4309-+ static void init(SPDesktopWidget *widget);
4310-+ void layoutWidgets();
4311-+
4312-+ void namedviewModified(SPObject *obj, guint flags);
4313-+
4314-+};
4315-+
4316-+/// The SPDesktopWidget vtable
4317-+struct SPDesktopWidgetClass {
4318-+ SPViewWidgetClass parent_class;
4319-+};
4320-+
4321-+#endif /* !SEEN_SP_DESKTOP_WIDGET_H */
4322-+
4323-+/*
4324-+ Local Variables:
4325-+ mode:c++
4326-+ c-file-style:"stroustrup"
4327-+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
4328-+ indent-tabs-mode:nil
4329-+ fill-column:99
4330-+ End:
4331-+*/
4332-+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
4333-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/widgets/gradient-image.h inkscape-0.48.1/src/widgets/gradient-image.h
4334---- inkscape-0.48.1~/src/widgets/gradient-image.h 2010-07-13 04:48:40.000000000 +0100
4335-+++ inkscape-0.48.1/src/widgets/gradient-image.h 2011-05-01 00:56:19.611250878 +0100
4336-@@ -19,6 +19,7 @@
4337-
4338- #include <glib.h>
4339-
4340-+#include <stddef.h>
4341- #include <sigc++/connection.h>
4342-
4343- #define SP_TYPE_GRADIENT_IMAGE (sp_gradient_image_get_type ())
4344-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/widgets/gradient-vector.h inkscape-0.48.1/src/widgets/gradient-vector.h
4345---- inkscape-0.48.1~/src/widgets/gradient-vector.h 2010-07-13 04:48:40.000000000 +0100
4346-+++ inkscape-0.48.1/src/widgets/gradient-vector.h 2011-05-01 00:56:19.611250878 +0100
4347-@@ -17,6 +17,7 @@
4348-
4349- #include <glib.h>
4350-
4351-+#include <stddef.h>
4352- #include <sigc++/connection.h>
4353-
4354- #include <gtk/gtkvbox.h>
4355-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/widgets/sp-attribute-widget.h inkscape-0.48.1/src/widgets/sp-attribute-widget.h
4356---- inkscape-0.48.1~/src/widgets/sp-attribute-widget.h 2010-07-13 04:48:40.000000000 +0100
4357-+++ inkscape-0.48.1/src/widgets/sp-attribute-widget.h 2011-05-01 00:56:19.611250878 +0100
4358-@@ -14,6 +14,7 @@
4359- #define SEEN_DIALOGS_SP_ATTRIBUTE_WIDGET_H
4360-
4361- #include <glib.h>
4362-+#include <stddef.h>
4363- #include <sigc++/connection.h>
4364-
4365- #define SP_TYPE_ATTRIBUTE_WIDGET (sp_attribute_widget_get_type ())
4366-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/widgets/sp-color-notebook.cpp inkscape-0.48.1/src/widgets/sp-color-notebook.cpp
4367---- inkscape-0.48.1~/src/widgets/sp-color-notebook.cpp 2010-07-13 04:48:40.000000000 +0100
4368-+++ inkscape-0.48.1/src/widgets/sp-color-notebook.cpp 2011-05-01 00:56:19.611250878 +0100
4369-@@ -22,6 +22,7 @@
4370- #include <cstring>
4371- #include <string>
4372- #include <cstdlib>
4373-+#include <cstddef>
4374- #include <gtk/gtk.h>
4375- #include <glibmm/i18n.h>
4376-
4377-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/xml/helper-observer.h inkscape-0.48.1/src/xml/helper-observer.h
4378---- inkscape-0.48.1~/src/xml/helper-observer.h 2010-07-13 04:48:40.000000000 +0100
4379-+++ inkscape-0.48.1/src/xml/helper-observer.h 2011-05-01 00:56:19.611250878 +0100
4380-@@ -5,6 +5,7 @@
4381- #include "node.h"
4382- #include "../sp-object.h"
4383- //#include "../sp-object-repr.h"
4384-+#include <stddef.h>
4385- #include <sigc++/sigc++.h>
4386-
4387- namespace Inkscape {
4388
4389=== added file 'debian/patches/05-add-missing-includes.dpatch'
4390--- debian/patches/05-add-missing-includes.dpatch 1970-01-01 00:00:00 +0000
4391+++ debian/patches/05-add-missing-includes.dpatch 2011-06-02 17:24:36 +0000
4392@@ -0,0 +1,799 @@
4393+#! /bin/sh /usr/share/dpatch/dpatch-run
4394+## 05-add-missing-includes.dpatch by Mehdi Dogguy <mehdi@debian.org>
4395+##
4396+## DP: #628226.
4397+
4398+@DPATCH@
4399+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/2geom/utils.h inkscape-0.48.1/src/2geom/utils.h
4400+--- inkscape-0.48.1~/src/2geom/utils.h 2010-07-13 05:48:40.000000000 +0200
4401++++ inkscape-0.48.1/src/2geom/utils.h 2011-05-30 17:48:28.000000000 +0200
4402+@@ -35,6 +35,7 @@
4403+
4404+ #include <cmath>
4405+ #include <vector>
4406++#include <stddef.h>
4407+
4408+ namespace Geom {
4409+
4410+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/arc-context.h inkscape-0.48.1/src/arc-context.h
4411+--- inkscape-0.48.1~/src/arc-context.h 2010-07-13 05:48:40.000000000 +0200
4412++++ inkscape-0.48.1/src/arc-context.h 2011-05-30 17:47:12.000000000 +0200
4413+@@ -15,6 +15,7 @@
4414+ * Released under GNU GPL, read the file 'COPYING' for more information
4415+ */
4416+
4417++#include <stddef.h>
4418+ #include <sigc++/connection.h>
4419+
4420+ #include <2geom/point.h>
4421+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/box3d-context.h inkscape-0.48.1/src/box3d-context.h
4422+--- inkscape-0.48.1~/src/box3d-context.h 2010-07-13 05:48:40.000000000 +0200
4423++++ inkscape-0.48.1/src/box3d-context.h 2011-05-30 17:47:12.000000000 +0200
4424+@@ -15,6 +15,7 @@
4425+ * Released under GNU GPL
4426+ */
4427+
4428++#include <stddef.h>
4429+ #include <sigc++/sigc++.h>
4430+ #include "event-context.h"
4431+ #include "proj_pt.h"
4432+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/conn-avoid-ref.h inkscape-0.48.1/src/conn-avoid-ref.h
4433+--- inkscape-0.48.1~/src/conn-avoid-ref.h 2010-07-13 05:48:40.000000000 +0200
4434++++ inkscape-0.48.1/src/conn-avoid-ref.h 2011-05-30 17:47:12.000000000 +0200
4435+@@ -14,6 +14,7 @@
4436+ */
4437+
4438+ #include <glib/gslist.h>
4439++#include <stddef.h>
4440+ #include <sigc++/connection.h>
4441+
4442+ struct SPDesktop;
4443+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/connection-pool.h inkscape-0.48.1/src/connection-pool.h
4444+--- inkscape-0.48.1~/src/connection-pool.h 2010-07-13 05:48:40.000000000 +0200
4445++++ inkscape-0.48.1/src/connection-pool.h 2011-05-30 17:47:12.000000000 +0200
4446+@@ -3,6 +3,7 @@
4447+
4448+ #include <glib-object.h>
4449+ #include <gtkmm.h>
4450++#include <stddef.h>
4451+ #include <sigc++/sigc++.h>
4452+
4453+ namespace Inkscape
4454+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/connector-context.h inkscape-0.48.1/src/connector-context.h
4455+--- inkscape-0.48.1~/src/connector-context.h 2010-07-13 05:48:40.000000000 +0200
4456++++ inkscape-0.48.1/src/connector-context.h 2011-05-30 17:47:12.000000000 +0200
4457+@@ -12,6 +12,7 @@
4458+ * Released under GNU GPL, read the file 'COPYING' for more information
4459+ */
4460+
4461++#include <stddef.h>
4462+ #include <sigc++/sigc++.h>
4463+ #include <sigc++/connection.h>
4464+ #include "event-context.h"
4465+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/desktop.h inkscape-0.48.1/src/desktop.h
4466+--- inkscape-0.48.1~/src/desktop.h 2010-07-13 05:48:40.000000000 +0200
4467++++ inkscape-0.48.1/src/desktop.h 2011-05-30 17:47:12.000000000 +0200
4468+@@ -27,6 +27,7 @@
4469+
4470+ #include <gdk/gdkevents.h>
4471+ #include <gtk/gtktypeutils.h>
4472++#include <stddef.h>
4473+ #include <sigc++/sigc++.h>
4474+
4475+ #include <2geom/matrix.h>
4476+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/display/canvas-temporary-item.h inkscape-0.48.1/src/display/canvas-temporary-item.h
4477+--- inkscape-0.48.1~/src/display/canvas-temporary-item.h 2010-07-13 05:48:40.000000000 +0200
4478++++ inkscape-0.48.1/src/display/canvas-temporary-item.h 2011-05-30 17:47:12.000000000 +0200
4479+@@ -12,6 +12,7 @@
4480+ * Released under GNU GPL, read the file 'COPYING' for more information
4481+ */
4482+
4483++#include <stddef.h>
4484+ #include "display/display-forward.h"
4485+
4486+ #include <sigc++/sigc++.h>
4487+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/document-private.h inkscape-0.48.1/src/document-private.h
4488+--- inkscape-0.48.1~/src/document-private.h 2010-07-13 05:48:40.000000000 +0200
4489++++ inkscape-0.48.1/src/document-private.h 2011-05-30 17:47:12.000000000 +0200
4490+@@ -14,6 +14,7 @@
4491+ */
4492+
4493+ #include <map>
4494++#include <stddef.h>
4495+ #include <sigc++/sigc++.h>
4496+ #include "xml/event-fns.h"
4497+ #include "sp-defs.h"
4498+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/document-subset.h inkscape-0.48.1/src/document-subset.h
4499+--- inkscape-0.48.1~/src/document-subset.h 2010-07-13 05:48:40.000000000 +0200
4500++++ inkscape-0.48.1/src/document-subset.h 2011-05-30 17:47:12.000000000 +0200
4501+@@ -10,6 +10,7 @@
4502+ #ifndef SEEN_INKSCAPE_DOCUMENT_SUBSET_H
4503+ #define SEEN_INKSCAPE_DOCUMENT_SUBSET_H
4504+
4505++#include <stddef.h>
4506+ #include <sigc++/connection.h>
4507+ #include <sigc++/functors/slot.h>
4508+
4509+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/document.h inkscape-0.48.1/src/document.h
4510+--- inkscape-0.48.1~/src/document.h 2010-08-04 18:45:00.000000000 +0200
4511++++ inkscape-0.48.1/src/document.h 2011-05-30 17:47:12.000000000 +0200
4512+@@ -17,6 +17,7 @@
4513+
4514+ #include <glib-object.h>
4515+ #include <gtk/gtksignal.h>
4516++#include <stddef.h>
4517+ #include <sigc++/sigc++.h>
4518+ #include <sigc++/class_slot.h>
4519+
4520+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/draw-context.h inkscape-0.48.1/src/draw-context.h
4521+--- inkscape-0.48.1~/src/draw-context.h 2010-07-13 05:48:40.000000000 +0200
4522++++ inkscape-0.48.1/src/draw-context.h 2011-05-30 17:47:12.000000000 +0200
4523+@@ -14,6 +14,7 @@
4524+ * Released under GNU GPL
4525+ */
4526+
4527++#include <stddef.h>
4528+ #include <sigc++/sigc++.h>
4529+ #include "event-context.h"
4530+ #include <forward.h>
4531+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/extension/timer.h inkscape-0.48.1/src/extension/timer.h
4532+--- inkscape-0.48.1~/src/extension/timer.h 2010-07-13 05:48:40.000000000 +0200
4533++++ inkscape-0.48.1/src/extension/timer.h 2011-05-30 17:47:12.000000000 +0200
4534+@@ -13,6 +13,7 @@
4535+ #ifndef INKSCAPE_EXTENSION_TIMER_H__
4536+ #define INKSCAPE_EXTENSION_TIMER_H__
4537+
4538++#include <stddef.h>
4539+ #include <sigc++/sigc++.h>
4540+ #include <glibmm/timeval.h>
4541+ #include "extension-forward.h"
4542+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/flood-context.h inkscape-0.48.1/src/flood-context.h
4543+--- inkscape-0.48.1~/src/flood-context.h 2010-07-13 05:48:40.000000000 +0200
4544++++ inkscape-0.48.1/src/flood-context.h 2011-05-30 17:47:12.000000000 +0200
4545+@@ -11,6 +11,7 @@
4546+ * Released under GNU GPL
4547+ */
4548+
4549++#include <stddef.h>
4550+ #include <sigc++/sigc++.h>
4551+ #include <gtk/gtk.h>
4552+ #include "event-context.h"
4553+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/gc-alloc.h inkscape-0.48.1/src/gc-alloc.h
4554+--- inkscape-0.48.1~/src/gc-alloc.h 2010-07-13 05:48:40.000000000 +0200
4555++++ inkscape-0.48.1/src/gc-alloc.h 2011-05-30 17:47:12.000000000 +0200
4556+@@ -16,6 +16,7 @@
4557+ #define SEEN_INKSCAPE_GC_ALLOC_H
4558+
4559+ #include <limits>
4560++#include <stddef.h>
4561+ #include "gc-core.h"
4562+
4563+ namespace Inkscape {
4564+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/gc.cpp inkscape-0.48.1/src/gc.cpp
4565+--- inkscape-0.48.1~/src/gc.cpp 2010-07-13 05:48:40.000000000 +0200
4566++++ inkscape-0.48.1/src/gc.cpp 2011-05-30 17:47:12.000000000 +0200
4567+@@ -16,6 +16,7 @@
4568+ #include <glib/gmessages.h>
4569+ #include <sigc++/functors/ptr_fun.h>
4570+ #include <glibmm/main.h>
4571++#include <stddef.h>
4572+
4573+ namespace Inkscape {
4574+ namespace GC {
4575+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/gradient-context.h inkscape-0.48.1/src/gradient-context.h
4576+--- inkscape-0.48.1~/src/gradient-context.h 2010-07-13 05:48:40.000000000 +0200
4577++++ inkscape-0.48.1/src/gradient-context.h 2011-05-30 17:47:12.000000000 +0200
4578+@@ -15,6 +15,7 @@
4579+ * Released under GNU GPL
4580+ */
4581+
4582++#include <stddef.h>
4583+ #include <sigc++/sigc++.h>
4584+ #include "event-context.h"
4585+
4586+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/gradient-drag.h inkscape-0.48.1/src/gradient-drag.h
4587+--- inkscape-0.48.1~/src/gradient-drag.h 2010-08-04 18:45:00.000000000 +0200
4588++++ inkscape-0.48.1/src/gradient-drag.h 2011-05-30 17:47:12.000000000 +0200
4589+@@ -15,6 +15,7 @@
4590+ */
4591+
4592+ #include <glib/gslist.h>
4593++#include <stddef.h>
4594+ #include <sigc++/sigc++.h>
4595+ #include <vector>
4596+
4597+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/knot.h inkscape-0.48.1/src/knot.h
4598+--- inkscape-0.48.1~/src/knot.h 2010-07-13 05:48:40.000000000 +0200
4599++++ inkscape-0.48.1/src/knot.h 2011-05-30 17:47:12.000000000 +0200
4600+@@ -20,6 +20,7 @@
4601+ #include "forward.h"
4602+ #include <2geom/point.h>
4603+ #include "knot-enums.h"
4604++#include <stddef.h>
4605+ #include <sigc++/sigc++.h>
4606+
4607+ class SPKnot;
4608+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/libavoid/geomtypes.h inkscape-0.48.1/src/libavoid/geomtypes.h
4609+--- inkscape-0.48.1~/src/libavoid/geomtypes.h 2010-07-13 05:48:40.000000000 +0200
4610++++ inkscape-0.48.1/src/libavoid/geomtypes.h 2011-05-30 17:47:12.000000000 +0200
4611+@@ -29,6 +29,7 @@
4612+ #ifndef AVOID_GEOMTYPES_H
4613+ #define AVOID_GEOMTYPES_H
4614+
4615++#include <stddef.h>
4616+ #include <vector>
4617+ #include <utility>
4618+
4619+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/live_effects/lpeobject-reference.h inkscape-0.48.1/src/live_effects/lpeobject-reference.h
4620+--- inkscape-0.48.1~/src/live_effects/lpeobject-reference.h 2010-07-13 05:48:40.000000000 +0200
4621++++ inkscape-0.48.1/src/live_effects/lpeobject-reference.h 2011-05-30 17:47:12.000000000 +0200
4622+@@ -11,6 +11,7 @@
4623+
4624+ #include <forward.h>
4625+ #include <uri-references.h>
4626++#include <stddef.h>
4627+ #include <sigc++/sigc++.h>
4628+
4629+ namespace Inkscape {
4630+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/live_effects/parameter/path-reference.h inkscape-0.48.1/src/live_effects/parameter/path-reference.h
4631+--- inkscape-0.48.1~/src/live_effects/parameter/path-reference.h 2010-07-13 05:48:40.000000000 +0200
4632++++ inkscape-0.48.1/src/live_effects/parameter/path-reference.h 2011-05-30 17:47:12.000000000 +0200
4633+@@ -11,6 +11,7 @@
4634+
4635+ #include <forward.h>
4636+ #include <uri-references.h>
4637++#include <stddef.h>
4638+ #include <sigc++/sigc++.h>
4639+
4640+ class Path;
4641+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/live_effects/parameter/path.h inkscape-0.48.1/src/live_effects/parameter/path.h
4642+--- inkscape-0.48.1~/src/live_effects/parameter/path.h 2010-07-13 05:48:40.000000000 +0200
4643++++ inkscape-0.48.1/src/live_effects/parameter/path.h 2011-05-30 17:47:12.000000000 +0200
4644+@@ -16,6 +16,7 @@
4645+
4646+ #include "live_effects/parameter/parameter.h"
4647+ #include "live_effects/parameter/path-reference.h"
4648++#include <stddef.h>
4649+ #include <sigc++/sigc++.h>
4650+
4651+ namespace Inkscape {
4652+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/message-stack.h inkscape-0.48.1/src/message-stack.h
4653+--- inkscape-0.48.1~/src/message-stack.h 2010-07-13 05:48:40.000000000 +0200
4654++++ inkscape-0.48.1/src/message-stack.h 2011-05-30 17:47:12.000000000 +0200
4655+@@ -14,6 +14,7 @@
4656+ #ifndef SEEN_INKSCAPE_MESSAGE_STACK_H
4657+ #define SEEN_INKSCAPE_MESSAGE_STACK_H
4658+
4659++#include <stddef.h>
4660+ #include <sigc++/sigc++.h>
4661+ #include <glib.h>
4662+ #include <stdarg.h>
4663+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/object-hierarchy.h inkscape-0.48.1/src/object-hierarchy.h
4664+--- inkscape-0.48.1~/src/object-hierarchy.h 2010-07-13 05:48:40.000000000 +0200
4665++++ inkscape-0.48.1/src/object-hierarchy.h 2011-05-30 17:47:12.000000000 +0200
4666+@@ -14,6 +14,7 @@
4667+
4668+ #include <exception>
4669+ #include <list>
4670++#include <stddef.h>
4671+ #include <sigc++/connection.h>
4672+ #include <sigc++/signal.h>
4673+ #include <glib/gmessages.h>
4674+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/persp3d-reference.h inkscape-0.48.1/src/persp3d-reference.h
4675+--- inkscape-0.48.1~/src/persp3d-reference.h 2010-07-13 05:48:40.000000000 +0200
4676++++ inkscape-0.48.1/src/persp3d-reference.h 2011-05-30 17:47:12.000000000 +0200
4677+@@ -11,6 +11,7 @@
4678+ */
4679+
4680+ #include "uri-references.h"
4681++#include <stddef.h>
4682+ #include <sigc++/sigc++.h>
4683+ #include "persp3d.h"
4684+
4685+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/rect-context.h inkscape-0.48.1/src/rect-context.h
4686+--- inkscape-0.48.1~/src/rect-context.h 2010-07-13 05:48:40.000000000 +0200
4687++++ inkscape-0.48.1/src/rect-context.h 2011-05-30 17:47:12.000000000 +0200
4688+@@ -14,6 +14,7 @@
4689+ * Released under GNU GPL
4690+ */
4691+
4692++#include <stddef.h>
4693+ #include <sigc++/sigc++.h>
4694+ #include "event-context.h"
4695+ #include "libnr/nr-point.h"
4696+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/selcue.h inkscape-0.48.1/src/selcue.h
4697+--- inkscape-0.48.1~/src/selcue.h 2010-07-13 05:48:40.000000000 +0200
4698++++ inkscape-0.48.1/src/selcue.h 2011-05-30 17:47:12.000000000 +0200
4699+@@ -14,6 +14,7 @@
4700+ */
4701+
4702+ #include <list>
4703++#include <stddef.h>
4704+ #include <sigc++/sigc++.h>
4705+
4706+ class SPDesktop;
4707+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/selection-describer.h inkscape-0.48.1/src/selection-describer.h
4708+--- inkscape-0.48.1~/src/selection-describer.h 2010-07-13 05:48:40.000000000 +0200
4709++++ inkscape-0.48.1/src/selection-describer.h 2011-05-30 17:47:12.000000000 +0200
4710+@@ -12,6 +12,7 @@
4711+ #ifndef SEEN_INKSCAPE_SELECTION_DESCRIPTION_HANDLER_H
4712+ #define SEEN_INKSCAPE_SELECTION_DESCRIPTION_HANDLER_H
4713+
4714++#include <stddef.h>
4715+ #include <sigc++/sigc++.h>
4716+ #include "message-context.h"
4717+
4718+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/selection.h inkscape-0.48.1/src/selection.h
4719+--- inkscape-0.48.1~/src/selection.h 2010-07-13 05:48:40.000000000 +0200
4720++++ inkscape-0.48.1/src/selection.h 2011-05-30 17:47:12.000000000 +0200
4721+@@ -19,6 +19,7 @@
4722+ #include <vector>
4723+ #include <map>
4724+ #include <list>
4725++#include <stddef.h>
4726+ #include <sigc++/sigc++.h>
4727+
4728+ //#include "libnr/nr-rect.h"
4729+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/seltrans.h inkscape-0.48.1/src/seltrans.h
4730+--- inkscape-0.48.1~/src/seltrans.h 2010-07-13 05:48:40.000000000 +0200
4731++++ inkscape-0.48.1/src/seltrans.h 2011-05-30 17:47:12.000000000 +0200
4732+@@ -15,6 +15,7 @@
4733+ * Released under GNU GPL, read the file 'COPYING' for more information
4734+ */
4735+
4736++#include <stddef.h>
4737+ #include <sigc++/sigc++.h>
4738+ #include <2geom/point.h>
4739+ #include <2geom/matrix.h>
4740+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-conn-end-pair.h inkscape-0.48.1/src/sp-conn-end-pair.h
4741+--- inkscape-0.48.1~/src/sp-conn-end-pair.h 2010-07-13 05:48:40.000000000 +0200
4742++++ inkscape-0.48.1/src/sp-conn-end-pair.h 2011-05-30 17:47:12.000000000 +0200
4743+@@ -15,6 +15,7 @@
4744+
4745+ #include "forward.h"
4746+ #include "libnr/nr-point.h"
4747++#include <stddef.h>
4748+ #include <sigc++/connection.h>
4749+ #include <sigc++/functors/slot.h>
4750+ #include <sigc++/signal.h>
4751+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-conn-end.h inkscape-0.48.1/src/sp-conn-end.h
4752+--- inkscape-0.48.1~/src/sp-conn-end.h 2010-07-13 05:48:40.000000000 +0200
4753++++ inkscape-0.48.1/src/sp-conn-end.h 2011-05-30 17:47:12.000000000 +0200
4754+@@ -2,6 +2,7 @@
4755+ #define SEEN_SP_CONN_END
4756+
4757+ #include <glib/gtypes.h>
4758++#include <stddef.h>
4759+ #include <sigc++/connection.h>
4760+
4761+ #include "sp-use-reference.h"
4762+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-gradient.h inkscape-0.48.1/src/sp-gradient.h
4763+--- inkscape-0.48.1~/src/sp-gradient.h 2010-08-04 18:45:00.000000000 +0200
4764++++ inkscape-0.48.1/src/sp-gradient.h 2011-05-30 17:47:12.000000000 +0200
4765+@@ -25,6 +25,7 @@
4766+ #include "sp-gradient-units.h"
4767+ #include "sp-gradient-vector.h"
4768+
4769++#include <stddef.h>
4770+ #include <sigc++/connection.h>
4771+
4772+ struct SPGradientReference;
4773+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-object.h inkscape-0.48.1/src/sp-object.h
4774+--- inkscape-0.48.1~/src/sp-object.h 2010-07-13 05:48:40.000000000 +0200
4775++++ inkscape-0.48.1/src/sp-object.h 2011-05-30 17:47:12.000000000 +0200
4776+@@ -56,6 +56,7 @@
4777+
4778+
4779+ #include <glib-object.h>
4780++#include <stddef.h>
4781+ #include <sigc++/connection.h>
4782+ #include <sigc++/functors/slot.h>
4783+ #include <sigc++/signal.h>
4784+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-offset.h inkscape-0.48.1/src/sp-offset.h
4785+--- inkscape-0.48.1~/src/sp-offset.h 2010-07-13 05:48:40.000000000 +0200
4786++++ inkscape-0.48.1/src/sp-offset.h 2011-05-30 17:47:12.000000000 +0200
4787+@@ -16,6 +16,7 @@
4788+
4789+ #include "sp-shape.h"
4790+
4791++#include <stddef.h>
4792+ #include <sigc++/sigc++.h>
4793+
4794+ #define SP_TYPE_OFFSET (sp_offset_get_type ())
4795+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-pattern.h inkscape-0.48.1/src/sp-pattern.h
4796+--- inkscape-0.48.1~/src/sp-pattern.h 2010-07-13 05:48:40.000000000 +0200
4797++++ inkscape-0.48.1/src/sp-pattern.h 2011-05-30 17:47:12.000000000 +0200
4798+@@ -32,6 +32,7 @@
4799+ #include "sp-paint-server.h"
4800+ #include "uri-references.h"
4801+
4802++#include <stddef.h>
4803+ #include <sigc++/connection.h>
4804+
4805+ class SPPatternReference : public Inkscape::URIReference {
4806+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-shape.h inkscape-0.48.1/src/sp-shape.h
4807+--- inkscape-0.48.1~/src/sp-shape.h 2010-07-13 05:48:40.000000000 +0200
4808++++ inkscape-0.48.1/src/sp-shape.h 2011-05-30 17:47:12.000000000 +0200
4809+@@ -19,6 +19,7 @@
4810+ #include "sp-marker-loc.h"
4811+ #include <2geom/forward.h>
4812+
4813++#include <stddef.h>
4814+ #include <sigc++/connection.h>
4815+
4816+ #define SP_TYPE_SHAPE (sp_shape_get_type ())
4817+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-switch.h inkscape-0.48.1/src/sp-switch.h
4818+--- inkscape-0.48.1~/src/sp-switch.h 2010-07-13 05:48:40.000000000 +0200
4819++++ inkscape-0.48.1/src/sp-switch.h 2011-05-30 17:47:12.000000000 +0200
4820+@@ -14,6 +14,7 @@
4821+
4822+ #include "sp-item-group.h"
4823+
4824++#include <stddef.h>
4825+ #include <sigc++/connection.h>
4826+
4827+ #define SP_TYPE_SWITCH (CSwitch::getType())
4828+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-text.h inkscape-0.48.1/src/sp-text.h
4829+--- inkscape-0.48.1~/src/sp-text.h 2010-07-13 05:48:40.000000000 +0200
4830++++ inkscape-0.48.1/src/sp-text.h 2011-05-30 17:47:12.000000000 +0200
4831+@@ -14,6 +14,7 @@
4832+ */
4833+
4834+ #include <glib/gtypes.h>
4835++#include <stddef.h>
4836+ #include <sigc++/sigc++.h>
4837+ #include "sp-item.h"
4838+ #include "sp-string.h"
4839+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-tref-reference.h inkscape-0.48.1/src/sp-tref-reference.h
4840+--- inkscape-0.48.1~/src/sp-tref-reference.h 2010-07-13 05:48:40.000000000 +0200
4841++++ inkscape-0.48.1/src/sp-tref-reference.h 2011-05-30 17:47:12.000000000 +0200
4842+@@ -13,6 +13,7 @@
4843+
4844+ #include <forward.h>
4845+ #include <uri-references.h>
4846++#include <stddef.h>
4847+ #include <sigc++/sigc++.h>
4848+
4849+ #include "util/share.h"
4850+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/sp-use.h inkscape-0.48.1/src/sp-use.h
4851+--- inkscape-0.48.1~/src/sp-use.h 2010-07-13 05:48:40.000000000 +0200
4852++++ inkscape-0.48.1/src/sp-use.h 2011-05-30 17:47:12.000000000 +0200
4853+@@ -13,6 +13,7 @@
4854+ * Released under GNU GPL, read the file 'COPYING' for more information
4855+ */
4856+
4857++#include <stddef.h>
4858+ #include <sigc++/sigc++.h>
4859+ #include "svg/svg-length.h"
4860+ #include "sp-item.h"
4861+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/spiral-context.h inkscape-0.48.1/src/spiral-context.h
4862+--- inkscape-0.48.1~/src/spiral-context.h 2010-07-13 05:48:40.000000000 +0200
4863++++ inkscape-0.48.1/src/spiral-context.h 2011-05-30 17:47:12.000000000 +0200
4864+@@ -16,6 +16,7 @@
4865+ */
4866+
4867+ #include <gtk/gtktypeutils.h>
4868++#include <stddef.h>
4869+ #include <sigc++/sigc++.h>
4870+ #include "event-context.h"
4871+ #include "libnr/nr-point.h"
4872+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/star-context.h inkscape-0.48.1/src/star-context.h
4873+--- inkscape-0.48.1~/src/star-context.h 2010-07-13 05:48:40.000000000 +0200
4874++++ inkscape-0.48.1/src/star-context.h 2011-05-30 17:47:12.000000000 +0200
4875+@@ -14,6 +14,7 @@
4876+ * Released under GNU GPL, read the file 'COPYING' for more information
4877+ */
4878+
4879++#include <stddef.h>
4880+ #include <sigc++/sigc++.h>
4881+ #include "event-context.h"
4882+ #include "libnr/nr-point.h"
4883+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/strneq.h inkscape-0.48.1/src/strneq.h
4884+--- inkscape-0.48.1~/src/strneq.h 2010-07-13 05:48:40.000000000 +0200
4885++++ inkscape-0.48.1/src/strneq.h 2011-05-30 17:48:50.000000000 +0200
4886+@@ -2,6 +2,7 @@
4887+ #define INKSCAPE_STRNEQ_H
4888+
4889+ #include <cstring>
4890++#include <stddef.h>
4891+
4892+ /** Convenience/readability wrapper for strncmp(a,b,n)==0. */
4893+ inline bool
4894+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/style.h inkscape-0.48.1/src/style.h
4895+--- inkscape-0.48.1~/src/style.h 2010-08-04 18:45:00.000000000 +0200
4896++++ inkscape-0.48.1/src/style.h 2011-05-30 17:47:12.000000000 +0200
4897+@@ -24,6 +24,7 @@
4898+ #include "uri.h"
4899+ #include "sp-paint-server.h"
4900+
4901++#include <stddef.h>
4902+ #include <sigc++/connection.h>
4903+
4904+ namespace Inkscape {
4905+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/text-context.h inkscape-0.48.1/src/text-context.h
4906+--- inkscape-0.48.1~/src/text-context.h 2010-07-13 05:48:40.000000000 +0200
4907++++ inkscape-0.48.1/src/text-context.h 2011-05-30 17:47:12.000000000 +0200
4908+@@ -15,6 +15,7 @@
4909+ */
4910+
4911+ /* #include <gdk/gdkic.h> */
4912++#include <stddef.h>
4913+ #include <sigc++/sigc++.h>
4914+ #include <gtk/gtkimcontext.h>
4915+
4916+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/dialog/desktop-tracker.h inkscape-0.48.1/src/ui/dialog/desktop-tracker.h
4917+--- inkscape-0.48.1~/src/ui/dialog/desktop-tracker.h 2010-07-13 05:48:40.000000000 +0200
4918++++ inkscape-0.48.1/src/ui/dialog/desktop-tracker.h 2011-05-30 17:47:12.000000000 +0200
4919+@@ -11,6 +11,7 @@
4920+ #ifndef SEEN_DIALOG_DESKTOP_TRACKER
4921+ #define SEEN_DIALOG_DESKTOP_TRACKER
4922+
4923++#include <stddef.h>
4924+ #include <sigc++/connection.h>
4925+ #include <glib/gtypes.h>
4926+
4927+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/dialog/document-metadata.h inkscape-0.48.1/src/ui/dialog/document-metadata.h
4928+--- inkscape-0.48.1~/src/ui/dialog/document-metadata.h 2010-07-13 05:48:40.000000000 +0200
4929++++ inkscape-0.48.1/src/ui/dialog/document-metadata.h 2011-05-30 17:47:12.000000000 +0200
4930+@@ -14,6 +14,7 @@
4931+ #define INKSCAPE_UI_DIALOG_DOCUMENT_METADATA_H
4932+
4933+ #include <list>
4934++#include <stddef.h>
4935+ #include <sigc++/sigc++.h>
4936+ #include <gtkmm/notebook.h>
4937+ #include <glibmm/i18n.h>
4938+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/dialog/document-properties.h inkscape-0.48.1/src/ui/dialog/document-properties.h
4939+--- inkscape-0.48.1~/src/ui/dialog/document-properties.h 2010-07-13 05:48:40.000000000 +0200
4940++++ inkscape-0.48.1/src/ui/dialog/document-properties.h 2011-05-30 17:47:12.000000000 +0200
4941+@@ -15,6 +15,7 @@
4942+ #define INKSCAPE_UI_DIALOG_DOCUMENT_PREFERENCES_H
4943+
4944+ #include <list>
4945++#include <stddef.h>
4946+ #include <sigc++/sigc++.h>//
4947+ #include <gtkmm/notebook.h>
4948+ #include <glibmm/i18n.h>
4949+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/dialog/inkscape-preferences.h inkscape-0.48.1/src/ui/dialog/inkscape-preferences.h
4950+--- inkscape-0.48.1~/src/ui/dialog/inkscape-preferences.h 2010-11-06 19:47:19.000000000 +0100
4951++++ inkscape-0.48.1/src/ui/dialog/inkscape-preferences.h 2011-05-30 17:47:12.000000000 +0200
4952+@@ -28,6 +28,7 @@
4953+ #include <gtkmm/frame.h>
4954+ #include <gtkmm/notebook.h>
4955+ #include "ui/widget/preferences-widget.h"
4956++#include <stddef.h>
4957+ #include <sigc++/sigc++.h>
4958+ #include <glibmm/i18n.h>
4959+ #include <gtkmm/textview.h>
4960+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/tool/control-point-selection.h inkscape-0.48.1/src/ui/tool/control-point-selection.h
4961+--- inkscape-0.48.1~/src/ui/tool/control-point-selection.h 2010-08-04 18:45:00.000000000 +0200
4962++++ inkscape-0.48.1/src/ui/tool/control-point-selection.h 2011-05-30 17:47:12.000000000 +0200
4963+@@ -14,6 +14,7 @@
4964+
4965+ #include <memory>
4966+ #include <boost/optional.hpp>
4967++#include <stddef.h>
4968+ #include <sigc++/sigc++.h>
4969+ #include <2geom/forward.h>
4970+ #include <2geom/point.h>
4971+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/tool/control-point.h inkscape-0.48.1/src/ui/tool/control-point.h
4972+--- inkscape-0.48.1~/src/ui/tool/control-point.h 2010-07-13 05:48:40.000000000 +0200
4973++++ inkscape-0.48.1/src/ui/tool/control-point.h 2011-05-30 17:47:12.000000000 +0200
4974+@@ -12,6 +12,7 @@
4975+ #define SEEN_UI_TOOL_CONTROL_POINT_H
4976+
4977+ #include <boost/utility.hpp>
4978++#include <stddef.h>
4979+ #include <sigc++/sigc++.h>
4980+ #include <gdkmm.h>
4981+ #include <gtkmm.h>
4982+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/tool/manipulator.h inkscape-0.48.1/src/ui/tool/manipulator.h
4983+--- inkscape-0.48.1~/src/ui/tool/manipulator.h 2010-07-13 05:48:40.000000000 +0200
4984++++ inkscape-0.48.1/src/ui/tool/manipulator.h 2011-05-30 17:47:12.000000000 +0200
4985+@@ -13,6 +13,7 @@
4986+
4987+ #include <set>
4988+ #include <map>
4989++#include <stddef.h>
4990+ #include <sigc++/sigc++.h>
4991+ #include <glib.h>
4992+ #include <gdk/gdk.h>
4993+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' inkscape-0.48.1~/src/ui/tool/multi-path-manipulator.h inkscape-0.48.1/src/ui/tool/multi-path-manipulator.h
4994+--- inkscape-0.48.1~/src/ui/tool/multi-path-manipulator.h 2010-11-06 19:47:19.000000000 +0100
4995++++ inkscape-0.48.1/src/ui/tool/multi-path-manipulator.h 2011-05-30 17:47:12.000000000 +0200
4996+@@ -11,6 +11,7 @@
4997+ #ifndef SEEN_UI_TOOL_MULTI_PATH_MANIPULATOR_H
4998+ #define SEEN_UI_TOOL_MULTI_PATH_MANIPULATOR_H
4999+
5000++#include <stddef.h>
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches