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;