patch to port gtk-mng-view to GTK+-2.0
Sven Neumann <[email protected]> 30 Mar 2004 17:48:05 +0200
| Newsgroups | gmane.comp.graphics.mng.general |
|---|---|
| Message-ID | <[email protected]> |
Hi, GTK+-2.0 is out for a while and most applications have been ported in the meantime. So gtk+-1.2 is becoming less available. I didn't feel like installing this outdated library only to get gtk-mng-view running, so I did some minor changes to make it compile with GTK+-2.0. You will find a patch against your CVS tree attached to this mail. Would be nice if you could integrate it into the official libmng tree. Sven
gtk-mng-view.diff
(application/octet-stream, 3.5 KB)
? contrib/gcc/gtk-mng-view/gmngview
Index: contrib/gcc/gtk-mng-view/Makefile
===================================================================
RCS file: /cvsroot/libmng/libmng-devel/contrib/gcc/gtk-mng-view/Makefile,v
retrieving revision 1.1.2.1
diff -u -p -r1.1.2.1 Makefile
--- contrib/gcc/gtk-mng-view/Makefile 29 Aug 2001 12:34:15 -0000 1.1.2.1
+++ contrib/gcc/gtk-mng-view/Makefile 30 Mar 2004 15:02:01 -0000
@@ -2,32 +2,25 @@ LIBMNG_PREFIX = /usr/local
CC = gcc
-#CFLAGS = -g -O2 -Wall \
-# `gtk-config --cflags` \
-# -I$(LIBMNG_PREFIX)/include
CFLAGS = -g -O2 -Wall \
- `gdk-pixbuf-config --cflags` \
+ `pkg-config --cflags gtk+-2.0` \
-I$(LIBMNG_PREFIX)/include
-#LIBS = `gtk-config --libs` \
-# -L$(LIBMNG_PREFIX)/lib -lmng -ljpeg -lz
-LIBS = `gdk-pixbuf-config --libs` \
+LIBS = `pkg-config --libs gtk+-2.0` \
-L$(LIBMNG_PREFIX)/lib -lmng -ljpeg -llcms -lz
OBJ = dummy.o \
gtk-mng-view.o
-# GRR: I personally prefer "gmngview" or "gtk-mng-view" over "dummy"...
-#EXE_BASENAME=dummy
EXE_BASENAME=gmngview
-all: $(EXE_BASENAME) $(EXE_BASENAME)-static
+all: $(EXE_BASENAME)
$(EXE_BASENAME): $(OBJ)
$(CC) -o $(EXE_BASENAME) $(OBJ) $(LIBS)
-$(EXE_BASENAME)-static: $(OBJ)
- $(CC) -static -o $(EXE_BASENAME)-static $(OBJ) $(LIBS)
+# $(EXE_BASENAME)-static: $(OBJ)
+# $(CC) -static -o $(EXE_BASENAME)-static $(OBJ) $(LIBS)
.c.o: gtk-mng-viewer.h
$(CC) -c $(CFLAGS) $<
Index: contrib/gcc/gtk-mng-view/gtk-mng-view.c
===================================================================
RCS file: /cvsroot/libmng/libmng-devel/contrib/gcc/gtk-mng-view/gtk-mng-view.c,v
retrieving revision 1.1.2.1
diff -u -p -r1.1.2.1 gtk-mng-view.c
--- contrib/gcc/gtk-mng-view/gtk-mng-view.c 29 Aug 2001 12:34:16 -0000 1.1.2.1
+++ contrib/gcc/gtk-mng-view/gtk-mng-view.c 30 Mar 2004 15:02:01 -0000
@@ -225,13 +225,9 @@ gtk_mng_view_init_libmng (GtkMngView * m
static GtkWidgetClass * parent_class = NULL;
static void
-gtk_mng_view_finalize (GtkObject * obj)
+gtk_mng_view_finalize (GObject * obj)
{
- GtkMngView * mng_view;
-
- g_return_if_fail (IS_GTK_MNG_VIEW (obj));
-
- mng_view = (GtkMngView *) obj;
+ GtkMngView * mng_view = GTK_MNG_VIEW (obj);
g_timer_destroy (mng_view->timer);
@@ -243,8 +239,7 @@ gtk_mng_view_finalize (GtkObject * obj)
if (mng_view->MNG_handle)
mng_cleanup (&mng_view->MNG_handle);
- if (GTK_OBJECT_CLASS (parent_class)->finalize)
- (* GTK_OBJECT_CLASS (parent_class)->finalize) (obj);
+ G_OBJECT_CLASS (parent_class)->finalize (obj);
}
static void
@@ -295,7 +290,7 @@ gtk_mng_view_paint (GtkMngView * mng_vie
bptr = buffer;
ptr = mng_view->MNG_drawing_buffer
- + 3 * (area->y * mng_view->width + area->x);
+ + 3 * (area->y * mng_view->width + area->x);
while (bptr < buffer + rowstride * area->height)
{
@@ -387,17 +382,15 @@ gtk_mng_view_init (GtkMngView * mng_view
static void
gtk_mng_view_class_init (GtkMngViewClass * klass)
{
- GtkObjectClass * object_class;
+ GObjectClass * object_class;
GtkWidgetClass * widget_class;
- g_return_if_fail (IS_GTK_MNG_VIEW_CLASS (klass));
-
- parent_class = gtk_type_class (GTK_TYPE_WIDGET);
+ parent_class = g_type_class_peek_parent (klass);
- object_class = (GtkObjectClass *) klass;
+ object_class = G_OBJECT_CLASS (klass);
object_class->finalize = gtk_mng_view_finalize;
- widget_class = (GtkWidgetClass *) klass;
+ widget_class = GTK_WIDGET_CLASS (klass);
widget_class->size_request = gtk_mng_view_size_request;
widget_class->size_allocate = gtk_mng_view_size_allocate;
widget_class->expose_event = gtk_mng_view_expose;