diff -ruN gimp-dimage-color-1.1.0/src/dimage_color.c gimp-dimage-color-1.1.0-gimp2/src/dimage_color.c
--- gimp-dimage-color-1.1.0/src/dimage_color.c	2002-02-21 22:36:36.000000000 +0100
+++ gimp-dimage-color-1.1.0-gimp2/src/dimage_color.c	2005-03-10 22:32:47.000000000 +0100
@@ -25,7 +25,7 @@
 #include <gtk/gtk.h>
 #include <libgimp/gimp.h>
 #include <libgimp/gimpui.h>
-#include <libgimp/gimpmatrix.h>
+#include <libgimpmath/gimpmatrix.h>
 
 #include "plugin-intl.h"
 #include "transform.h"
@@ -38,9 +38,9 @@
 DialogValues dc_int = { FALSE, TRUE, TRUE };
 
 static void query (void);
-static void run (gchar *name,
+static void run (const gchar *name,
 		 gint nparams,
-		 GimpParam *param,
+		 const GimpParam *param,
 		 gint *nreturn_vals,
 		 GimpParam **return_vals);
 
@@ -62,8 +62,8 @@
 {
   static GimpParamDef args[] = {
     { GIMP_PDB_INT32,    "run_mode", "Interactive, non-interactive" },
-    { GIMP_PDB_IMAGE,    "image",    "Input image" },
-    { GIMP_PDB_DRAWABLE, "drawable", "Input drawable" },
+    { GIMP_PDB_IMAGE,    "image_id",    "Input image" },
+    { GIMP_PDB_DRAWABLE, "drawable_id", "Input drawable" },
 
     { GIMP_PDB_INT32,    "gamma", "Gamma + Tone correction" },
     { GIMP_PDB_INT32,    "tone_curve", "Tone curve" },
@@ -71,8 +71,8 @@
 
   static gint nargs = sizeof (args) / sizeof (args[0]);
   
-  gimp_plugin_domain_register (PLUGIN_NAME, LOCALEDIR);
-  gimp_plugin_help_register (DATADIR "/help");
+  /*gimp_plugin_domain_register (PLUGIN_NAME, LOCALEDIR);*/
+  /*gimp_plugin_help_register (PLUGIN_NAME,DATADIR "/help");*/
 
   gimp_install_procedure (PLUG_IN_NAME,
 			  "Minolta DiMAGE Color to sRGB",
@@ -80,7 +80,7 @@
 			  "Laurent Houdard",
 			  "Laurent Houdard",
 			  "2002-02-05",
-			  N_("<Image>/Image/Colors/Dimage Color to sRGB"),
+			  "<Image>/Layer/Colors/Dimage Color to sRGB",
 			  "RGB*",
 			  GIMP_PLUGIN,
 			  nargs, 0, 
@@ -88,18 +88,19 @@
 }
 
 static void
-run (gchar *name,
+run (const gchar *name,
      gint n_params,
-     GimpParam *param,
+     const GimpParam *param,
      gint *nreturn_vals,
      GimpParam **return_vals)
 {
   static GimpParam values[1];
   GimpPDBStatusType status = GIMP_PDB_SUCCESS;
   GimpDrawable *drawable;
-  GimpRunModeType run_mode;
+  GimpRunMode run_mode;
   gint32 image_id;
   gint32 drawable_id;
+  
 
   *nreturn_vals = 1;
   *return_vals = values;
@@ -159,7 +160,6 @@
 dimage_color_ok_callback (GtkWidget *widget, gpointer data)
 {
   dc_int.run = TRUE;
-  gtk_widget_destroy (GTK_WIDGET (data));
 }
 
 static void
@@ -177,6 +177,17 @@
     do_preview ();
 }
 
+static void dialog_callback(GtkWidget *widget,
+                            gint response_id, gpointer dummy)
+{
+
+  if(response_id==GTK_RESPONSE_OK)
+  {
+    dimage_color_ok_callback(widget, dummy);
+  }
+  gtk_widget_destroy(widget);
+}
+
 static gint
 dimage_color_dialog (void)
 {
@@ -196,14 +207,10 @@
   gimp_ui_init ("dimage_color", TRUE);
 
   dlg = gimp_dialog_new(_("Dimage color"), "dimage_color",
+  			NULL, 0, /* GtkWidget *parent, GtkDialogFlags flags */
 			gimp_standard_help_func, "filters/dimage_color.html",
-			GTK_WIN_POS_MOUSE,
-			FALSE, TRUE, FALSE,
-
-			_("OK"), dimage_color_ok_callback,
-			NULL, NULL, NULL, TRUE, FALSE,
-			_("Cancel"), gtk_widget_destroy,
-			NULL, 1, NULL, FALSE, TRUE,
+			GTK_STOCK_CANCEL,GTK_RESPONSE_CANCEL,
+			GTK_STOCK_OK,    GTK_RESPONSE_OK,
 
 			NULL);
 
@@ -211,6 +218,8 @@
 		      GTK_SIGNAL_FUNC (gtk_main_quit),
 		      NULL);
 
+  gtk_signal_connect (GTK_OBJECT(dlg), "response", G_CALLBACK(dialog_callback), NULL);
+
   main_vbox = gtk_vbox_new (FALSE, 0);
   gtk_widget_show (main_vbox);
   gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), main_vbox, 
@@ -279,7 +288,7 @@
   gtk_misc_set_padding (GTK_MISC (tone_label), 20, 0);
 
   tone_menu = 
-    gimp_option_menu_new2 (FALSE, dimage_color_menu_item_update,
+    gimp_option_menu_new2 (FALSE, G_CALLBACK(dimage_color_menu_item_update),
 			   &dc_vals.tone_curve, (gpointer) dc_vals.tone_curve,
 
 			   _("Default"), (gpointer) CURVE_DEFAULT, NULL,
@@ -312,7 +321,7 @@
   gpointer pr;
 
   /* Get selection area */
-  gimp_drawable_mask_bounds (drawable->id, &x1, &y1, &x2, &y2);
+  gimp_drawable_mask_bounds (drawable->drawable_id, &x1, &y1, &x2, &y2);
 
   progress = 0;
   max_progress = (x2 - x1) * (y2 - y1);
@@ -352,8 +361,8 @@
 
   /* Update the region */
   gimp_drawable_flush (drawable);
-  gimp_drawable_merge_shadow (drawable->id, TRUE);
-  gimp_drawable_update (drawable->id, x1, y1, (x2 - x1), (y2 - y1));
+  gimp_drawable_merge_shadow (drawable->drawable_id, TRUE);
+  gimp_drawable_update (drawable->drawable_id, x1, y1, (x2 - x1), (y2 - y1));
 
   return GIMP_PDB_SUCCESS;
 }
diff -ruN gimp-dimage-color-1.1.0/src/Makefile.in gimp-dimage-color-1.1.0-gimp2/src/Makefile.in
--- gimp-dimage-color-1.1.0/src/Makefile.in	2002-02-17 21:15:11.000000000 +0100
+++ gimp-dimage-color-1.1.0-gimp2/src/Makefile.in	2005-02-25 01:21:22.000000000 +0100
@@ -108,7 +108,7 @@
 INCLUDES =  	@GIMP_CFLAGS@
 
 
-LDADD =  	$(GTK_LIBS)		$(GIMP_LIBS)		$(INTLLIBS)
+LDADD =  	$(GIMP_LIBS)		$(INTLLIBS)
 
 
 AM_CPPFLAGS =  	-DLOCALEDIR=\""$(LOCALEDIR)"\" 	-DDATADIR=\""$(DATADIR)"\" 	-DPLUGIN_NAME=\""$(PLUGIN_NAME)"\"
diff -ruN gimp-dimage-color-1.1.0/src/preview.c gimp-dimage-color-1.1.0-gimp2/src/preview.c
--- gimp-dimage-color-1.1.0/src/preview.c	2002-02-21 22:46:29.000000000 +0100
+++ gimp-dimage-color-1.1.0-gimp2/src/preview.c	2005-02-25 01:21:02.000000000 +0100
@@ -21,7 +21,7 @@
 #include <string.h>
 #include <gtk/gtk.h>
 #include <libgimp/gimp.h>
-#include <libgimp/gimpmatrix.h>
+#include <libgimpmath/gimpmatrix.h>
 
 #include "dimage_color.h"
 #include "transform.h"
diff -ruN gimp-dimage-color-1.1.0/src/profile.c gimp-dimage-color-1.1.0-gimp2/src/profile.c
--- gimp-dimage-color-1.1.0/src/profile.c	2002-02-21 22:30:29.000000000 +0100
+++ gimp-dimage-color-1.1.0-gimp2/src/profile.c	2005-02-25 01:21:02.000000000 +0100
@@ -17,23 +17,23 @@
  */
 
 #include <libgimp/gimp.h>
-#include <libgimp/gimpmatrix.h>
+#include <libgimpmath/gimpmatrix.h>
 
 #include "config.h"
 #include "profile.h"
 
 /* sRGB color primaries (see http://www.srgb.com) */
 
-GimpMatrix3 srgb_prim =   { { 0.436066, 0.385147, 0.143066 },
+GimpMatrix3 srgb_prim =    {{ { 0.436066, 0.385147, 0.143066 },
 			    { 0.222488, 0.716873, 0.060608 },
-			    { 0.013916, 0.097076, 0.714096 } };
+			    { 0.013916, 0.097076, 0.714096 } }};
 
 /* Color primaries, gamma and 'iTRC' tag taken from the ICC profile
    provided by Minolta */
 
-GimpMatrix3 dimage_prim = { { 0.528580, 0.412567, 0.023010 },
+GimpMatrix3 dimage_prim = { { { 0.528580, 0.412567, 0.023010 },
 			    { 0.280212, 0.827759,-0.107986 },
-			    { 0.060455,-0.034973, 0.799408 } };
+			    { 0.060455,-0.034973, 0.799408 } } };
 
 double dimage_gamma[512] = {
   0.000000, 0.000412, 0.000839, 0.001251, 0.001663, 0.002075, 0.002502, 
diff -ruN gimp-dimage-color-1.1.0/src/transform.c gimp-dimage-color-1.1.0-gimp2/src/transform.c
--- gimp-dimage-color-1.1.0/src/transform.c	2002-02-21 22:48:55.000000000 +0100
+++ gimp-dimage-color-1.1.0-gimp2/src/transform.c	2005-02-25 01:21:02.000000000 +0100
@@ -22,7 +22,8 @@
 
 #include <libgimp/gimp.h>
 #include <libgimp/gimpui.h>
-#include <libgimp/gimpmatrix.h>
+#include <libgimpmath/gimpmatrix.h>
+#include <libgimpmath/gimpmathtypes.h>
 
 #include "dimage_color.h"
 #include "profile.h"
@@ -45,9 +46,10 @@
   gint i;
 
   /* Build color gamut transformation: t = (sRGB)-1 * dimage */
-  gimp_matrix3_invert(srgb_prim, srgb_i);
-  memcpy (shaper, dimage_prim, sizeof (GimpMatrix3));
-  gimp_matrix3_mult(srgb_i, shaper);
+  memcpy (&srgb_i, &srgb_prim, sizeof (GimpMatrix3));
+  gimp_matrix3_invert(&srgb_i);
+  memcpy (&shaper, &dimage_prim, sizeof (GimpMatrix3));
+  gimp_matrix3_mult(&srgb_i, &shaper);
 
   /* Build input gamma lookup table */
   for (i = 0; i < 256; i++) 
@@ -79,9 +81,9 @@
   p1[2] = input_gamma[src[2]];
 
   /* Color gamut transform */
-  p2[0] = p1[0] * shaper[0][0] + p1[1] * shaper[0][1] + p1[2] *shaper[0][2];
-  p2[1] = p1[0] * shaper[1][0] + p1[1] * shaper[1][1] + p1[2] *shaper[1][2];
-  p2[2] = p1[0] * shaper[2][0] + p1[1] * shaper[2][1] + p1[2] *shaper[2][2];
+  p2[0] = p1[0] * shaper.coeff[0][0] + p1[1] * shaper.coeff[0][1] + p1[2] * shaper.coeff[0][2];
+  p2[1] = p1[0] * shaper.coeff[1][0] + p1[1] * shaper.coeff[1][1] + p1[2] * shaper.coeff[1][2];
+  p2[2] = p1[0] * shaper.coeff[2][0] + p1[1] * shaper.coeff[2][1] + p1[2] * shaper.coeff[2][2];
   
   /* Clipping / Out of gamut */
   for (i = 0; i < 3; i++) 
