dia: update to 0.97.3.

This commit is contained in:
Christian Neukirchen 2014-09-07 17:34:16 +02:00
parent 0d97378213
commit 7e3410188d
3 changed files with 3 additions and 114 deletions

View File

@ -1,13 +0,0 @@
--- plug-ins/postscript/diapsft2renderer.c.orig 2014-05-07 13:13:51.997988792 +0200
+++ plug-ins/postscript/diapsft2renderer.c 2014-05-07 13:14:35.810986950 +0200
@@ -29,8 +29,8 @@
#include <pango/pangoft2.h>
#include <pango/pango-engine.h>
/* I'd really rather avoid this */
-#include <freetype/ftglyph.h>
-#include <freetype/ftoutln.h>
+#include <ftglyph.h>
+#include <ftoutln.h>
#define DPI 300

View File

@ -1,98 +0,0 @@
From 213bdfe956bf8fe57c86316f68a09408fef1647e Mon Sep 17 00:00:00 2001
From: Hans Breuer <hans@breuer.org>
Date: Sat, 16 Mar 2013 17:56:58 +0100
Subject: Bug 694025 - GLib drop support for adding interfaces after class_init
Without this Dia crashes at startup with new GLib version and the
DiaGdkRenderer being default. Make a new DiaGdkInteractiveRenderer which
follows the pattern also used for DiaCairoInteraciveRenderer. This should
be functional equivalent to what was there before and should work for all
current GLib versions.
diff --git a/app/render_gdk.c b/app/render_gdk.c
index f6692dd..23e4226 100644
--- app/render_gdk.c
+++ app/render_gdk.c
@@ -63,7 +63,21 @@ static void draw_object_highlighted (DiaRenderer *renderer,
DiaObject *object,
DiaHighlightType type);
-static void dia_gdk_renderer_iface_init (DiaInteractiveRendererInterface* iface)
+typedef struct _DiaGdkInteractiveRenderer DiaGdkInteractiveRenderer;
+struct _DiaGdkInteractiveRenderer
+{
+ DiaGdkRenderer parent_instance; /*!< inheritance in object oriented C */
+};
+typedef struct _DiaGdkInteractiveRendererClass DiaGdkInteractiveRendererClass;
+struct _DiaGdkInteractiveRendererClass
+{
+ DiaGdkRendererClass parent_class; /*!< the base class */
+};
+#define DIA_TYPE_GDK_INTERACTIVE_RENDERER (dia_gdk_interactive_renderer_get_type ())
+#define DIA_GDK_INTERACTIVE_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIA_TYPE_GDK_INTERACTIVE_RENDERER, DiaGdkInteractiveRenderer))
+
+static void
+dia_gdk_renderer_iface_init (DiaInteractiveRendererInterface* iface)
{
iface->clip_region_clear = clip_region_clear;
iface->clip_region_add_rect = clip_region_add_rect;
@@ -75,35 +89,35 @@ static void dia_gdk_renderer_iface_init (DiaInteractiveRendererInterface* iface)
iface->draw_object_highlighted = draw_object_highlighted;
}
+G_DEFINE_TYPE_WITH_CODE (DiaGdkInteractiveRenderer, dia_gdk_interactive_renderer, DIA_TYPE_GDK_RENDERER,
+ G_IMPLEMENT_INTERFACE (DIA_TYPE_INTERACTIVE_RENDERER_INTERFACE, dia_gdk_renderer_iface_init));
+
+static void
+dia_gdk_interactive_renderer_class_init(DiaGdkInteractiveRendererClass *klass)
+{
+}
+static void
+dia_gdk_interactive_renderer_init(DiaGdkInteractiveRenderer *object)
+{
+ DiaGdkInteractiveRenderer *ia_renderer = DIA_GDK_INTERACTIVE_RENDERER (object);
+ DiaGdkRenderer *renderer = DIA_GDK_RENDERER(object);
+ DiaRenderer *dia_renderer = DIA_RENDERER(object);
+
+ dia_renderer->is_interactive = 1;
+
+ renderer->gc = NULL;
+ renderer->pixmap = NULL;
+ renderer->clip_region = NULL;
+}
+
DiaRenderer *
new_gdk_renderer(DDisplay *ddisp)
{
DiaGdkRenderer *renderer;
GType renderer_type = 0;
- renderer = g_object_new (DIA_TYPE_GDK_RENDERER, NULL);
+ renderer = g_object_new (DIA_TYPE_GDK_INTERACTIVE_RENDERER, NULL);
renderer->transform = dia_transform_new (&ddisp->visible, &ddisp->zoom_factor);
- if (!DIA_GET_INTERACTIVE_RENDERER_INTERFACE (renderer))
- {
- static const GInterfaceInfo irenderer_iface_info =
- {
- (GInterfaceInitFunc) dia_gdk_renderer_iface_init,
- NULL, /* iface_finalize */
- NULL /* iface_data */
- };
-
- renderer_type = DIA_TYPE_GDK_RENDERER;
- /* register the interactive renderer interface */
- g_type_add_interface_static (renderer_type,
- DIA_TYPE_INTERACTIVE_RENDERER_INTERFACE,
- &irenderer_iface_info);
-
- }
- renderer->parent_instance.is_interactive = 1;
- renderer->gc = NULL;
-
- renderer->pixmap = NULL;
- renderer->clip_region = NULL;
return DIA_RENDERER(renderer);
}
--
cgit v0.10.1

View File

@ -1,13 +1,13 @@
# Template file for 'dia'
pkgname=dia
version=0.97.2
revision=2
version=0.97.3
revision=1
short_desc="GTK+ based diagram creation program"
maintainer="Martin Riese <grauehaare@gmx.de>"
license="GPL-2"
homepage="https://wiki.gnome.org/Apps/Dia"
distfiles="http://ftp.gnome.org/pub/gnome/sources/dia/0.97/dia-${version}.tar.xz"
checksum="a761478fb98697f71b00d3041d7c267f3db4b94fe33ac07c689cb89c4fe5eae1"
checksum=22914e48ef48f894bb5143c5efc3d01ab96e0a0cde80de11058d3b4301377d34
build_style=gnu-configure
hostmakedepends="pkg-config intltool freetype-devel libxml2-devel"
makedepends="gtk+-devel libxml2-devel freetype-devel libpng-devel libart-devel libxslt-devel"