diff -aur plug-ins-orig/color-rotate/color-rotate-dialog.c plug-ins/color-rotate/color-rotate-dialog.c
--- plug-ins-orig/color-rotate/color-rotate-dialog.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/color-rotate/color-rotate-dialog.c	2011-04-02 14:17:07.896523000 +0200
@@ -648,7 +648,7 @@
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
   color_rotate_stock_init ();
 
-  dialog = gimp_dialog_new (_("Rotate Colors"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Rotate Colors"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/color-rotate/color-rotate.h plug-ins/color-rotate/color-rotate.h
--- plug-ins-orig/color-rotate/color-rotate.h	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/color-rotate/color-rotate.h	2011-04-02 14:16:00.163189668 +0200
@@ -40,6 +40,7 @@
 
 #define PLUG_IN_PROC   "plug-in-rotate-colormap"
 #define PLUG_IN_BINARY "rcm"
+#define PLUG_IN_ROLE   "gimp-rcm"
 #define TP             (2*G_PI)
 
 
diff -aur plug-ins-orig/common/alien-map.c plug-ins/common/alien-map.c
--- plug-ins-orig/common/alien-map.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/alien-map.c	2011-04-02 14:17:12.816523000 +0200
@@ -33,6 +33,7 @@
 
 #define PLUG_IN_PROC   "plug-in-alienmap2"
 #define PLUG_IN_BINARY "alien-map"
+#define PLUG_IN_ROLE   "gimp-alien-map"
 #define SCALE_WIDTH    200
 #define ENTRY_WIDTH      6
 
@@ -389,7 +390,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Alien Map"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Alien Map"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/align-layers.c plug-ins/common/align-layers.c
--- plug-ins-orig/common/align-layers.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/align-layers.c	2011-04-02 14:17:17.016523000 +0200
@@ -27,6 +27,7 @@
 
 #define PLUG_IN_PROC   "plug-in-align-layers"
 #define PLUG_IN_BINARY "align-layers"
+#define PLUG_IN_ROLE   "gimp-align-layers"
 #define SCALE_WIDTH    150
 
 enum
@@ -396,7 +397,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Align Visible Layers"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Align Visible Layers"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/animation-play.c plug-ins/common/animation-play.c
--- plug-ins-orig/common/animation-play.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/animation-play.c	2011-04-02 14:15:57.279856335 +0200
@@ -42,6 +42,7 @@
 
 #define PLUG_IN_PROC   "plug-in-animationplay"
 #define PLUG_IN_BINARY "animation-play"
+#define PLUG_IN_ROLE   "gimp-animation-play"
 #define DITHERTYPE     GDK_RGB_DITHER_NORMAL
 
 
diff -aur plug-ins-orig/common/apply-canvas.c plug-ins/common/apply-canvas.c
--- plug-ins-orig/common/apply-canvas.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/apply-canvas.c	2011-04-02 14:17:21.199856335 +0200
@@ -42,6 +42,7 @@
 
 #define PLUG_IN_PROC   "plug-in-apply-canvas"
 #define PLUG_IN_BINARY "apply-canvas"
+#define PLUG_IN_ROLE   "gimp-apply-canvas"
 
 
 static const gchar sdata[] =
@@ -1259,7 +1260,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Apply Canvas"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Apply Canvas"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/blinds.c plug-ins/common/blinds.c
--- plug-ins-orig/common/blinds.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/blinds.c	2011-04-02 14:17:25.279856335 +0200
@@ -42,6 +42,7 @@
 
 #define PLUG_IN_PROC   "plug-in-blinds"
 #define PLUG_IN_BINARY "blinds"
+#define PLUG_IN_ROLE   "gimp-blinds"
 
 #define SCALE_WIDTH    150
 
@@ -219,7 +220,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Blinds"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Blinds"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/blur-gauss-selective.c plug-ins/common/blur-gauss-selective.c
--- plug-ins-orig/common/blur-gauss-selective.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/blur-gauss-selective.c	2011-04-02 14:17:29.383189668 +0200
@@ -38,6 +38,7 @@
 
 #define PLUG_IN_PROC   "plug-in-sel-gauss"
 #define PLUG_IN_BINARY "blur-gauss-selective"
+#define PLUG_IN_ROLE   "gimp-blur-gauss-selective"
 
 #ifndef ALWAYS_INLINE
 #if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
@@ -228,7 +229,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Selective Gaussian Blur"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Selective Gaussian Blur"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/blur-gauss.c plug-ins/common/blur-gauss.c
--- plug-ins-orig/common/blur-gauss.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/blur-gauss.c	2011-04-02 14:17:38.416523000 +0200
@@ -30,6 +30,7 @@
 #define GAUSS_RLE_PROC  "plug-in-gauss-rle"
 #define GAUSS_RLE2_PROC "plug-in-gauss-rle2"
 #define PLUG_IN_BINARY  "blur-gauss"
+#define PLUG_IN_ROLE    "gimp-blur-gauss"
 
 typedef enum
 {
@@ -474,7 +475,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Gaussian Blur"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Gaussian Blur"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, GAUSS_PROC,
 
diff -aur plug-ins-orig/common/blur-motion.c plug-ins/common/blur-motion.c
--- plug-ins-orig/common/blur-motion.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/blur-motion.c	2011-04-02 14:17:42.609856334 +0200
@@ -44,6 +44,7 @@
 #define PLUG_IN_PROC         "plug-in-mblur"
 #define PLUG_IN_PROC_INWARD  "plug-in-mblur-inward"
 #define PLUG_IN_BINARY       "blur-motion"
+#define PLUG_IN_ROLE         "gimp-blur-motion"
 #define PLUG_IN_VERSION      "May 2007, 1.3"
 
 
@@ -1008,7 +1009,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Motion Blur"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Motion Blur"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/border-average.c plug-ins/common/border-average.c
--- plug-ins-orig/common/border-average.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/border-average.c	2011-04-02 14:17:46.663189668 +0200
@@ -27,6 +27,7 @@
 
 #define PLUG_IN_PROC   "plug-in-borderaverage"
 #define PLUG_IN_BINARY "border-average"
+#define PLUG_IN_ROLE   "gimp-border-average"
 
 
 /* Declare local functions.
@@ -347,7 +348,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Borderaverage"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Borderaverage"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/bump-map.c plug-ins/common/bump-map.c
--- plug-ins-orig/common/bump-map.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/bump-map.c	2011-04-02 14:17:50.646523001 +0200
@@ -41,6 +41,7 @@
 #define PLUG_IN_PROC       "plug-in-bump-map"
 #define PLUG_IN_TILED_PROC "plug-in-bump-map-tiled"
 #define PLUG_IN_BINARY     "bumpmap"
+#define PLUG_IN_ROLE       "gimp-bumpmap"
 #define PLUG_IN_VERSION    "April 2000, 3.0-pre1-ac2"
 
 #define SCALE_WIDTH       100
@@ -762,7 +763,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Bump Map"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Bump Map"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/cartoon.c plug-ins/common/cartoon.c
--- plug-ins-orig/common/cartoon.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/cartoon.c	2011-04-02 14:17:54.766523001 +0200
@@ -36,6 +36,7 @@
 
 #define PLUG_IN_PROC    "plug-in-cartoon"
 #define PLUG_IN_BINARY  "cartoon"
+#define PLUG_IN_ROLE    "gimp-cartoon"
 #define TILE_CACHE_SIZE 48
 
 typedef struct
@@ -807,7 +808,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Cartoon"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Cartoon"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/channel-mixer.c plug-ins/common/channel-mixer.c
--- plug-ins-orig/common/channel-mixer.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/channel-mixer.c	2011-04-02 14:17:58.759856335 +0200
@@ -38,6 +38,7 @@
 
 #define PLUG_IN_PROC    "plug-in-colors-channel-mixer"
 #define PLUG_IN_BINARY  "channel-mixer"
+#define PLUG_IN_ROLE    "gimp-channel-mixer"
 #define CM_LINE_SIZE    1024
 
 typedef enum
@@ -488,7 +489,7 @@
         }
     }
 
-  dialog = gimp_dialog_new (_("Channel Mixer"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Channel Mixer"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/checkerboard.c plug-ins/common/checkerboard.c
--- plug-ins-orig/common/checkerboard.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/checkerboard.c	2011-04-02 14:18:03.006523001 +0200
@@ -28,6 +28,7 @@
 
 #define PLUG_IN_PROC      "plug-in-checkerboard"
 #define PLUG_IN_BINARY    "checkerboard"
+#define PLUG_IN_ROLE      "gimp-checkerboard"
 #define SPIN_BUTTON_WIDTH 8
 
 
@@ -342,7 +343,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Checkerboard"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Checkerboard"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/cml-explorer.c plug-ins/common/cml-explorer.c
--- plug-ins-orig/common/cml-explorer.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/cml-explorer.c	2011-04-02 14:18:10.703189668 +0200
@@ -84,6 +84,7 @@
 #define PARAM_FILE_FORMAT_VERSION 1.0
 #define PLUG_IN_PROC              "plug-in-cml-explorer"
 #define PLUG_IN_BINARY            "cml-explorer"
+#define PLUG_IN_ROLE              "gimp-cml-explorer"
 #define VALS                      CML_explorer_vals
 #define PROGRESS_UPDATE_NUM        100
 #define CML_LINE_SIZE             1024
@@ -1173,7 +1174,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Coupled-Map-Lattice Explorer"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Coupled-Map-Lattice Explorer"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
@@ -1815,7 +1816,7 @@
   GtkWidget *frame;
   GtkWidget *preview;
 
-  dialog = gimp_dialog_new (_("Graph of the Current Settings"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Graph of the Current Settings"), PLUG_IN_ROLE,
                             gtk_widget_get_toplevel (widget), 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/color-cube-analyze.c plug-ins/common/color-cube-analyze.c
--- plug-ins-orig/common/color-cube-analyze.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/color-cube-analyze.c	2011-04-02 14:18:14.616523000 +0200
@@ -36,6 +36,7 @@
 
 #define PLUG_IN_PROC   "plug-in-ccanalyze"
 #define PLUG_IN_BINARY "color-cube-analyze"
+#define PLUG_IN_ROLE   "gimp-color-cube-analyze"
 
 /* size of histogram image */
 #define PREWIDTH  256
@@ -352,7 +353,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Colorcube Analysis"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Colorcube Analysis"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/color-exchange.c plug-ins/common/color-exchange.c
--- plug-ins-orig/common/color-exchange.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/color-exchange.c	2011-04-02 14:18:18.593189669 +0200
@@ -44,6 +44,7 @@
 
 #define PLUG_IN_PROC   "plug-in-exchange"
 #define PLUG_IN_BINARY "color-exchange"
+#define PLUG_IN_ROLE   "gimp-color-exchange"
 
 #define SCALE_WIDTH    128
 
@@ -283,7 +284,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Color Exchange"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Color Exchange"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/color-to-alpha.c plug-ins/common/color-to-alpha.c
--- plug-ins-orig/common/color-to-alpha.c	2009-08-14 21:21:09.000000000 +0200
+++ plug-ins/common/color-to-alpha.c	2011-04-02 14:18:22.503189668 +0200
@@ -30,6 +30,7 @@
 
 #define PLUG_IN_PROC   "plug-in-colortoalpha"
 #define PLUG_IN_BINARY "color-to-aplha"
+#define PLUG_IN_ROLE   "gimp-color-to-aplha"
 #define PRV_WIDTH      40
 #define PRV_HEIGHT     20
 
@@ -373,7 +374,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Color to Alpha"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Color to Alpha"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/colorify.c plug-ins/common/colorify.c
--- plug-ins-orig/common/colorify.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/colorify.c	2011-04-02 14:18:26.223189668 +0200
@@ -28,6 +28,7 @@
 
 #define PLUG_IN_PROC    "plug-in-colorify"
 #define PLUG_IN_BINARY  "colorify"
+#define PLUG_IN_ROLE    "gimp-colorify"
 #define PLUG_IN_VERSION "1.1"
 
 #define COLOR_SIZE 30
@@ -251,7 +252,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Colorify"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Colorify"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/colormap-remap.c plug-ins/common/colormap-remap.c
--- plug-ins-orig/common/colormap-remap.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/colormap-remap.c	2011-04-02 14:18:30.279856335 +0200
@@ -40,6 +40,7 @@
 #define PLUG_IN_PROC_REMAP  "plug-in-colormap-remap"
 #define PLUG_IN_PROC_SWAP   "plug-in-colormap-swap"
 #define PLUG_IN_BINARY      "colormap-remap"
+#define PLUG_IN_ROLE        "gimp-colormap-remap"
 
 
 /* Declare local functions.
@@ -592,7 +593,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Rearrange Colormap"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Rearrange Colormap"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC_REMAP,
 
diff -aur plug-ins-orig/common/compose.c plug-ins/common/compose.c
--- plug-ins-orig/common/compose.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/compose.c	2011-04-02 14:18:34.423189668 +0200
@@ -43,6 +43,7 @@
 #define DRAWABLE_COMPOSE_PROC "plug-in-drawable-compose"
 #define RECOMPOSE_PROC        "plug-in-recompose"
 #define PLUG_IN_BINARY        "compose"
+#define PLUG_IN_ROLE          "gimp-compose"
 
 
 typedef struct
@@ -1484,7 +1485,7 @@
   layer_list = gimp_image_get_layers (gimp_drawable_get_image (drawable_ID),
                                       &nlayers);
 
-  dialog = gimp_dialog_new (_("Compose"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Compose"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, COMPOSE_PROC,
 
diff -aur plug-ins-orig/common/contrast-retinex.c plug-ins/common/contrast-retinex.c
--- plug-ins-orig/common/contrast-retinex.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/contrast-retinex.c	2011-04-02 14:18:38.599856335 +0200
@@ -27,6 +27,7 @@
 
 #define PLUG_IN_PROC        "plug-in-retinex"
 #define PLUG_IN_BINARY      "contrast-retinex"
+#define PLUG_IN_ROLE        "gimp-contrast-retinex"
 #define MAX_RETINEX_SCALES    8
 #define MIN_GAUSSIAN_SCALE   16
 #define MAX_GAUSSIAN_SCALE  250
@@ -282,7 +283,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Retinex Image Enhancement"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Retinex Image Enhancement"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/convolution-matrix.c plug-ins/common/convolution-matrix.c
--- plug-ins-orig/common/convolution-matrix.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/convolution-matrix.c	2011-04-02 14:18:42.416523000 +0200
@@ -29,6 +29,7 @@
 
 #define PLUG_IN_PROC   "plug-in-convmatrix"
 #define PLUG_IN_BINARY "convolution-matrix"
+#define PLUG_IN_ROLE   "gimp-convolution-matrix"
 
 #define RESPONSE_RESET 1
 
@@ -902,7 +903,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Convolution Matrix"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Convolution Matrix"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/cubism.c plug-ins/common/cubism.c
--- plug-ins-orig/common/cubism.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/cubism.c	2011-04-02 14:18:46.336523000 +0200
@@ -31,6 +31,7 @@
 
 #define PLUG_IN_PROC    "plug-in-cubism"
 #define PLUG_IN_BINARY  "cubism"
+#define PLUG_IN_ROLE    "gimp-cubism"
 
 #define SCALE_WIDTH     125
 #define BLACK             0
@@ -264,7 +265,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Cubism"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Cubism"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/curve-bend.c plug-ins/common/curve-bend.c
--- plug-ins-orig/common/curve-bend.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/curve-bend.c	2011-04-02 14:18:50.223189668 +0200
@@ -50,6 +50,7 @@
 /* Defines */
 #define PLUG_IN_PROC        "plug-in-curve-bend"
 #define PLUG_IN_BINARY      "curve-bend"
+#define PLUG_IN_ROLE        "gimp-curve-bend"
 #define PLUG_IN_VERSION     "v1.3.18 (2003/08/26)"
 #define PLUG_IN_IMAGE_TYPES "RGB*, GRAY*"
 #define PLUG_IN_AUTHOR      "Wolfgang Hofer (hof@hotbot.com)"
@@ -1213,7 +1214,7 @@
   p_retrieve_values(cd);       /* Possibly retrieve data from a previous run */
 
   /*  The shell and main vbox  */
-  cd->shell = gimp_dialog_new (_("Curve Bend"), PLUG_IN_BINARY,
+  cd->shell = gimp_dialog_new (_("Curve Bend"), PLUG_IN_ROLE,
                                NULL, 0,
                                gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/decompose.c plug-ins/common/decompose.c
--- plug-ins-orig/common/decompose.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/decompose.c	2011-04-02 14:18:54.983189668 +0200
@@ -45,6 +45,7 @@
 #define PLUG_IN_PROC      "plug-in-decompose"
 #define PLUG_IN_PROC_REG  "plug-in-decompose-registered"
 #define PLUG_IN_BINARY    "decompose"
+#define PLUG_IN_ROLE      "gimp-decompose"
 
 
 /* Declare local functions
@@ -1476,7 +1477,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Decompose"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Decompose"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/deinterlace.c plug-ins/common/deinterlace.c
--- plug-ins-orig/common/deinterlace.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/deinterlace.c	2011-04-02 14:18:58.879856335 +0200
@@ -30,6 +30,7 @@
 
 #define PLUG_IN_PROC   "plug-in-deinterlace"
 #define PLUG_IN_BINARY "deinterlace"
+#define PLUG_IN_ROLE   "gimp-deinterlace"
 
 
 enum
@@ -318,7 +319,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Deinterlace"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Deinterlace"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/depth-merge.c plug-ins/common/depth-merge.c
--- plug-ins-orig/common/depth-merge.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/depth-merge.c	2011-04-02 14:19:02.846523001 +0200
@@ -42,6 +42,7 @@
 #define PLUG_IN_PROC    "plug-in-depth-merge"
 #define PLUG_IN_VERSION "August 1998"
 #define PLUG_IN_BINARY  "depth-merge"
+#define PLUG_IN_ROLE    "gimp-depth-merge"
 
 #define PREVIEW_SIZE    256
 
@@ -641,7 +642,7 @@
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
   dm->interface->dialog =
-    dialog = gimp_dialog_new (_("Depth Merge"), PLUG_IN_BINARY,
+    dialog = gimp_dialog_new (_("Depth Merge"), PLUG_IN_ROLE,
                               NULL, 0,
                               gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/despeckle.c plug-ins/common/despeckle.c
--- plug-ins-orig/common/despeckle.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/despeckle.c	2011-04-02 14:19:06.686523001 +0200
@@ -35,6 +35,7 @@
 
 #define PLUG_IN_PROC     "plug-in-despeckle"
 #define PLUG_IN_BINARY   "despeckle"
+#define PLUG_IN_ROLE     "gimp-despeckle"
 #define PLUG_IN_VERSION  "May 1998"
 #define SCALE_WIDTH      100
 #define ENTRY_WIDTH        3
@@ -421,7 +422,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Despeckle"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Despeckle"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/destripe.c plug-ins/common/destripe.c
--- plug-ins-orig/common/destripe.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/destripe.c	2011-04-02 14:19:10.559856335 +0200
@@ -37,6 +37,7 @@
 
 #define PLUG_IN_PROC    "plug-in-destripe"
 #define PLUG_IN_BINARY  "destripe"
+#define PLUG_IN_ROLE    "gimp-destripe"
 #define PLUG_IN_VERSION "0.2"
 #define SCALE_WIDTH     140
 #define MAX_AVG         100
@@ -434,7 +435,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Destripe"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Destripe"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/diffraction.c plug-ins/common/diffraction.c
--- plug-ins-orig/common/diffraction.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/diffraction.c	2011-04-02 14:19:15.293189667 +0200
@@ -30,6 +30,7 @@
 
 #define PLUG_IN_PROC   "plug-in-diffraction"
 #define PLUG_IN_BINARY "diffraction"
+#define PLUG_IN_ROLE   "gimp-diffraction"
 
 
 /***** Magic numbers *****/
@@ -430,7 +431,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Diffraction Patterns"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Diffraction Patterns"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/displace.c plug-ins/common/displace.c
--- plug-ins-orig/common/displace.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/displace.c	2011-04-02 14:19:19.293189667 +0200
@@ -55,6 +55,7 @@
 
 #define PLUG_IN_PROC    "plug-in-displace"
 #define PLUG_IN_BINARY  "displace"
+#define PLUG_IN_ROLE    "gimp-displace"
 
 #define ENTRY_WIDTH     75
 #define TILE_CACHE_SIZE 48
@@ -322,7 +323,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Displace"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Displace"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/edge-dog.c plug-ins/common/edge-dog.c
--- plug-ins-orig/common/edge-dog.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/edge-dog.c	2011-04-02 14:19:23.223189668 +0200
@@ -36,6 +36,7 @@
 
 #define PLUG_IN_PROC   "plug-in-dog"
 #define PLUG_IN_BINARY "edge-dog"
+#define PLUG_IN_ROLE   "gimp-edge-dog"
 
 
 typedef struct
@@ -296,7 +297,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("DoG Edge Detect"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("DoG Edge Detect"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/edge-laplace.c plug-ins/common/edge-laplace.c
--- plug-ins-orig/common/edge-laplace.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/edge-laplace.c	2011-04-02 14:15:57.399856335 +0200
@@ -30,6 +30,7 @@
 
 #define PLUG_IN_PROC   "plug-in-laplace"
 #define PLUG_IN_BINARY "edge-laplace"
+#define PLUG_IN_ROLE   "gimp-edge-laplace"
 
 
 /* Declare local functions.
diff -aur plug-ins-orig/common/edge-neon.c plug-ins/common/edge-neon.c
--- plug-ins-orig/common/edge-neon.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/edge-neon.c	2011-04-02 14:19:27.269856336 +0200
@@ -38,6 +38,7 @@
 
 #define PLUG_IN_PROC   "plug-in-neon"
 #define PLUG_IN_BINARY "edge-neon"
+#define PLUG_IN_ROLE   "gimp-edge-neon"
 
 
 typedef struct
@@ -691,7 +692,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Neon Detection"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Neon Detection"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/edge-sobel.c plug-ins/common/edge-sobel.c
--- plug-ins-orig/common/edge-sobel.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/edge-sobel.c	2011-04-02 14:19:31.143189668 +0200
@@ -31,6 +31,7 @@
 
 #define PLUG_IN_PROC   "plug-in-sobel"
 #define PLUG_IN_BINARY "edge-sobel"
+#define PLUG_IN_ROLE   "gimp-edge-sobel"
 
 
 typedef struct
@@ -227,7 +228,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Sobel Edge Detection"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Sobel Edge Detection"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/edge.c plug-ins/common/edge.c
--- plug-ins-orig/common/edge.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/edge.c	2011-04-02 14:19:35.766523001 +0200
@@ -59,6 +59,7 @@
 
 #define PLUG_IN_PROC    "plug-in-edge"
 #define PLUG_IN_BINARY  "edge"
+#define PLUG_IN_ROLE    "gimp-edge"
 #define TILE_CACHE_SIZE 48
 
 enum
@@ -625,7 +626,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Edge Detection"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Edge Detection"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/emboss.c plug-ins/common/emboss.c
--- plug-ins-orig/common/emboss.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/emboss.c	2011-04-02 14:19:39.316523002 +0200
@@ -36,6 +36,7 @@
 
 #define PLUG_IN_PROC   "plug-in-emboss"
 #define PLUG_IN_BINARY "emboss"
+#define PLUG_IN_ROLE   "gimp-emboss"
 
 
 enum
@@ -443,7 +444,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Emboss"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Emboss"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/engrave.c plug-ins/common/engrave.c
--- plug-ins-orig/common/engrave.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/engrave.c	2011-04-02 14:19:46.103189668 +0200
@@ -29,6 +29,7 @@
 
 #define PLUG_IN_PROC    "plug-in-engrave"
 #define PLUG_IN_BINARY  "engrave"
+#define PLUG_IN_ROLE    "gimp-engrave"
 #define SCALE_WIDTH     125
 #define TILE_CACHE_SIZE  16
 
@@ -205,7 +206,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Engrave"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Engrave"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/file-aa.c plug-ins/common/file-aa.c
--- plug-ins-orig/common/file-aa.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-aa.c	2011-04-02 14:15:57.413189667 +0200
@@ -39,6 +39,7 @@
 
 #define SAVE_PROC      "file-aa-save"
 #define PLUG_IN_BINARY "file-aa"
+#define PLUG_IN_ROLE   "gimp-file-aa"
 
 
 /*
diff -aur plug-ins-orig/common/file-cel.c plug-ins/common/file-cel.c
--- plug-ins-orig/common/file-cel.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-cel.c	2011-04-02 14:15:57.416523000 +0200
@@ -34,6 +34,7 @@
 #define LOAD_PROC      "file-cel-load"
 #define SAVE_PROC      "file-cel-save"
 #define PLUG_IN_BINARY "file-cel"
+#define PLUG_IN_ROLE   "gimp-file-cel"
 
 
 static void query (void);
diff -aur plug-ins-orig/common/file-csource.c plug-ins/common/file-csource.c
--- plug-ins-orig/common/file-csource.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-csource.c	2011-04-02 14:15:57.423189668 +0200
@@ -33,6 +33,7 @@
 
 #define SAVE_PROC      "file-csource-save"
 #define PLUG_IN_BINARY "file-csource"
+#define PLUG_IN_ROLE   "gimp-file-csource"
 
 
 typedef struct
diff -aur plug-ins-orig/common/file-desktop-link.c plug-ins/common/file-desktop-link.c
--- plug-ins-orig/common/file-desktop-link.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-desktop-link.c	2011-04-02 14:15:57.423189668 +0200
@@ -33,6 +33,7 @@
 
 #define LOAD_PROC      "file-desktop-link-load"
 #define PLUG_IN_BINARY "file-desktop-link"
+#define PLUG_IN_ROLE   "gimp-file-desktop-link"
 
 
 static void    query      (void);
diff -aur plug-ins-orig/common/file-dicom.c plug-ins/common/file-dicom.c
--- plug-ins-orig/common/file-dicom.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-dicom.c	2011-04-02 14:15:57.426523002 +0200
@@ -38,6 +38,7 @@
 #define LOAD_PROC      "file-dicom-load"
 #define SAVE_PROC      "file-dicom-save"
 #define PLUG_IN_BINARY "file-dicom"
+#define PLUG_IN_ROLE   "gimp-file-dicom"
 
 
 /* A lot of Dicom images are wrongly encoded. By guessing the endian
diff -aur plug-ins-orig/common/file-gbr.c plug-ins/common/file-gbr.c
--- plug-ins-orig/common/file-gbr.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-gbr.c	2011-04-02 14:15:57.429856336 +0200
@@ -69,6 +69,7 @@
 #define LOAD_PROC      "file-gbr-load"
 #define SAVE_PROC      "file-gbr-save"
 #define PLUG_IN_BINARY "file-gbr"
+#define PLUG_IN_ROLE   "gimp-file-gbr"
 
 
 typedef struct
diff -aur plug-ins-orig/common/file-gif-save.c plug-ins/common/file-gif-save.c
--- plug-ins-orig/common/file-gif-save.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-gif-save.c	2011-04-02 14:15:57.443189668 +0200
@@ -41,6 +41,7 @@
 
 #define SAVE_PROC      "file-gif-save"
 #define PLUG_IN_BINARY "file-gif-save"
+#define PLUG_IN_ROLE   "gimp-file-gif-save"
 
 
 /* Define only one of these to determine which kind of gif's you would like.
diff -aur plug-ins-orig/common/file-gih.c plug-ins/common/file-gih.c
--- plug-ins-orig/common/file-gih.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-gih.c	2011-04-02 14:15:57.446523001 +0200
@@ -78,6 +78,7 @@
 #define LOAD_PROC          "file-gih-load"
 #define SAVE_PROC          "file-gih-save"
 #define PLUG_IN_BINARY     "file-gih"
+#define PLUG_IN_ROLE       "gimp-file-gih"
 #define DUMMY_PATTERN_NAME "x"
 #define MAXDESCLEN         256
 
diff -aur plug-ins-orig/common/file-header.c plug-ins/common/file-header.c
--- plug-ins-orig/common/file-header.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-header.c	2011-04-02 14:15:57.449856334 +0200
@@ -29,6 +29,7 @@
 
 #define SAVE_PROC      "file-header-save"
 #define PLUG_IN_BINARY "file-header"
+#define PLUG_IN_ROLE   "gimp-file-header"
 
 
 /* Declare some local functions.
diff -aur plug-ins-orig/common/file-html-table.c plug-ins/common/file-html-table.c
--- plug-ins-orig/common/file-html-table.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-html-table.c	2011-04-02 14:15:57.453189667 +0200
@@ -62,6 +62,7 @@
 
 #define SAVE_PROC      "file-gtm-save"
 #define PLUG_IN_BINARY "file-html-table"
+#define PLUG_IN_ROLE   "gimp-file-html-table"
 
 /* Typedefs */
 
diff -aur plug-ins-orig/common/file-mng.c plug-ins/common/file-mng.c
--- plug-ins-orig/common/file-mng.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-mng.c	2011-04-02 14:15:57.459856334 +0200
@@ -94,6 +94,7 @@
 
 #define SAVE_PROC      "file-mng-save"
 #define PLUG_IN_BINARY "file-mng"
+#define PLUG_IN_ROLE   "gimp-file-mng"
 #define SCALE_WIDTH    125
 
 enum
diff -aur plug-ins-orig/common/file-pat.c plug-ins/common/file-pat.c
--- plug-ins-orig/common/file-pat.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-pat.c	2011-04-02 14:15:57.463189668 +0200
@@ -52,6 +52,7 @@
 #define LOAD_PROC      "file-pat-load"
 #define SAVE_PROC      "file-pat-save"
 #define PLUG_IN_BINARY "file-pat"
+#define PLUG_IN_ROLE   "gimp-file-pat"
 
 
 /*  local function prototypes  */
diff -aur plug-ins-orig/common/file-pcx.c plug-ins/common/file-pcx.c
--- plug-ins-orig/common/file-pcx.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-pcx.c	2011-04-02 14:15:57.466523002 +0200
@@ -35,6 +35,7 @@
 #define LOAD_PROC      "file-pcx-load"
 #define SAVE_PROC      "file-pcx-save"
 #define PLUG_IN_BINARY "file-pcx"
+#define PLUG_IN_ROLE   "gimp-file-pcx"
 
 /* Declare local functions.  */
 
diff -aur plug-ins-orig/common/file-pdf.c plug-ins/common/file-pdf.c
--- plug-ins-orig/common/file-pdf.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-pdf.c	2011-04-02 14:19:49.886523001 +0200
@@ -35,6 +35,7 @@
 #define LOAD_PROC       "file-pdf-load"
 #define LOAD_THUMB_PROC "file-pdf-load-thumb"
 #define PLUG_IN_BINARY  "file-pdf"
+#define PLUG_IN_ROLE    "gimp-file-pdf"
 
 #define THUMBNAIL_SIZE  128
 
@@ -814,7 +815,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Import from PDF"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Import from PDF"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, LOAD_PROC,
 
diff -aur plug-ins-orig/common/file-pix.c plug-ins/common/file-pix.c
--- plug-ins-orig/common/file-pix.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-pix.c	2011-04-02 14:15:57.473189669 +0200
@@ -55,6 +55,7 @@
 #define LOAD_PROC      "file-pix-load"
 #define SAVE_PROC      "file-pix-save"
 #define PLUG_IN_BINARY "file-pix"
+#define PLUG_IN_ROLE   "gimp-file-pix"
 
 
 /* #define PIX_DEBUG */
diff -aur plug-ins-orig/common/file-png.c plug-ins/common/file-png.c
--- plug-ins-orig/common/file-png.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-png.c	2011-04-02 14:15:57.479856335 +0200
@@ -63,6 +63,7 @@
 #define GET_DEFAULTS_PROC      "file-png-get-defaults"
 #define SET_DEFAULTS_PROC      "file-png-set-defaults"
 #define PLUG_IN_BINARY         "file-png"
+#define PLUG_IN_ROLE           "gimp-file-png"
 
 #define PLUG_IN_VERSION        "1.3.4 - 03 September 2002"
 #define SCALE_WIDTH            125
diff -aur plug-ins-orig/common/file-pnm.c plug-ins/common/file-pnm.c
--- plug-ins-orig/common/file-pnm.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-pnm.c	2011-04-02 14:15:57.483189668 +0200
@@ -62,6 +62,7 @@
 #define PGM_SAVE_PROC  "file-pgm-save"
 #define PPM_SAVE_PROC  "file-ppm-save"
 #define PLUG_IN_BINARY "file-pnm"
+#define PLUG_IN_ROLE   "gimp-file-pnm"
 
 
 /* Declare local data types
diff -aur plug-ins-orig/common/file-ps.c plug-ins/common/file-ps.c
--- plug-ins-orig/common/file-ps.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-ps.c	2011-04-02 14:19:53.886523001 +0200
@@ -114,6 +114,7 @@
 #define SAVE_PS_PROC         "file-ps-save"
 #define SAVE_EPS_PROC        "file-eps-save"
 #define PLUG_IN_BINARY       "file-ps"
+#define PLUG_IN_ROLE         "gimp-file-ps"
 
 
 #define STR_LENGTH 64
@@ -3087,7 +3088,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Import from PostScript"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Import from PostScript"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, LOAD_PS_PROC,
 
diff -aur plug-ins-orig/common/file-psp.c plug-ins/common/file-psp.c
--- plug-ins-orig/common/file-psp.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-psp.c	2011-04-02 14:15:57.503189668 +0200
@@ -28,6 +28,7 @@
 #define LOAD_PROC      "file-psp-load"
 #define SAVE_PROC      "file-psp-save"
 #define PLUG_IN_BINARY "file-psp"
+#define PLUG_IN_ROLE   "gimp-file-psp"
 
 /* set to the level of debugging output you want, 0 for none */
 #define PSP_DEBUG 0
diff -aur plug-ins-orig/common/file-raw.c plug-ins/common/file-raw.c
--- plug-ins-orig/common/file-raw.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-raw.c	2011-04-02 14:19:57.709856336 +0200
@@ -49,6 +49,7 @@
 #define LOAD_PROC      "file-raw-load"
 #define SAVE_PROC      "file-raw-save"
 #define PLUG_IN_BINARY "file-raw"
+#define PLUG_IN_ROLE   "gimp-file-raw"
 #define PREVIEW_SIZE   350
 
 
@@ -1049,7 +1050,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Load Image from Raw Data"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Load Image from Raw Data"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, LOAD_PROC,
 
diff -aur plug-ins-orig/common/file-sunras.c plug-ins/common/file-sunras.c
--- plug-ins-orig/common/file-sunras.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-sunras.c	2011-04-02 14:15:57.513189669 +0200
@@ -52,6 +52,7 @@
 #define LOAD_PROC      "file-sunras-load"
 #define SAVE_PROC      "file-sunras-save"
 #define PLUG_IN_BINARY "file-sunras"
+#define PLUG_IN_ROLE   "gimp-file-sunras"
 
 
 typedef int WRITE_FUN(void*,size_t,size_t,FILE*);
diff -aur plug-ins-orig/common/file-svg.c plug-ins/common/file-svg.c
--- plug-ins-orig/common/file-svg.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-svg.c	2011-04-02 14:20:03.069856336 +0200
@@ -38,6 +38,7 @@
 #define LOAD_PROC               "file-svg-load"
 #define LOAD_THUMB_PROC         "file-svg-load-thumb"
 #define PLUG_IN_BINARY          "file-svg"
+#define PLUG_IN_ROLE            "gimp-file-svg"
 #define SVG_VERSION             "2.5.0"
 #define SVG_DEFAULT_RESOLUTION  90.0
 #define SVG_DEFAULT_SIZE        500
@@ -739,7 +740,7 @@
 
   /* Scalable Vector Graphics is SVG, should perhaps not be translated */
   dialog = gimp_dialog_new (_("Render Scalable Vector Graphics"),
-                            PLUG_IN_BINARY,
+                            PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, LOAD_PROC,
 
diff -aur plug-ins-orig/common/file-tga.c plug-ins/common/file-tga.c
--- plug-ins-orig/common/file-tga.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-tga.c	2011-04-02 14:15:57.523189668 +0200
@@ -95,6 +95,7 @@
 #define LOAD_PROC      "file-tga-load"
 #define SAVE_PROC      "file-tga-save"
 #define PLUG_IN_BINARY "file-tga"
+#define PLUG_IN_ROLE   "gimp-file-tga"
 
 typedef enum
 {
diff -aur plug-ins-orig/common/file-tiff-load.c plug-ins/common/file-tiff-load.c
--- plug-ins-orig/common/file-tiff-load.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-tiff-load.c	2011-04-02 14:20:07.076523002 +0200
@@ -73,6 +73,7 @@
 
 #define LOAD_PROC      "file-tiff-load"
 #define PLUG_IN_BINARY "file-tiff-load"
+#define PLUG_IN_ROLE   "gimp-file-tiff-load"
 
 
 typedef struct
@@ -475,7 +476,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Import from TIFF"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Import from TIFF"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, LOAD_PROC,
 
diff -aur plug-ins-orig/common/file-tiff-save.c plug-ins/common/file-tiff-save.c
--- plug-ins-orig/common/file-tiff-save.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-tiff-save.c	2011-04-02 14:15:57.533189667 +0200
@@ -74,6 +74,7 @@
 #define SAVE_PROC      "file-tiff-save"
 #define SAVE2_PROC     "file-tiff-save2"
 #define PLUG_IN_BINARY "file-tiff-save"
+#define PLUG_IN_ROLE   "gimp-file-tiff-save"
 
 
 typedef struct
diff -aur plug-ins-orig/common/file-wmf.c plug-ins/common/file-wmf.c
--- plug-ins-orig/common/file-wmf.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-wmf.c	2011-04-02 14:20:11.749856336 +0200
@@ -35,6 +35,7 @@
 #define LOAD_PROC               "file-wmf-load"
 #define LOAD_THUMB_PROC         "file-wmf-load-thumb"
 #define PLUG_IN_BINARY          "file-wmf"
+#define PLUG_IN_ROLE            "gimp-file-wmf"
 
 #define WMF_DEFAULT_RESOLUTION  90.0
 #define WMF_DEFAULT_SIZE        500
@@ -500,7 +501,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Render Windows Metafile"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Render Windows Metafile"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, LOAD_PROC,
 
diff -aur plug-ins-orig/common/file-xbm.c plug-ins/common/file-xbm.c
--- plug-ins-orig/common/file-xbm.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-xbm.c	2011-04-02 14:15:57.543189668 +0200
@@ -52,6 +52,7 @@
 #define LOAD_PROC      "file-xbm-load"
 #define SAVE_PROC      "file-xbm-save"
 #define PLUG_IN_BINARY "file-xbm"
+#define PLUG_IN_ROLE   "gimp-file-xbm"
 
 
 /* Wear your GIMP with pride! */
diff -aur plug-ins-orig/common/file-xmc.c plug-ins/common/file-xmc.c
--- plug-ins-orig/common/file-xmc.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-xmc.c	2011-04-02 14:15:57.549856336 +0200
@@ -82,6 +82,7 @@
 #define SAVE_PROC2             "file-xmc-save2"
 
 #define PLUG_IN_BINARY         "file-xmc"
+#define PLUG_IN_ROLE           "gimp-file-xmc"
 /* We use "xmc" as the file extension of X cursor for convenience */
 #define XCURSOR_EXTENSION      "xmc"
 #define XCURSOR_MIME_TYPE      "image/x-xcursor"
diff -aur plug-ins-orig/common/file-xpm.c plug-ins/common/file-xpm.c
--- plug-ins-orig/common/file-xpm.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-xpm.c	2011-04-02 14:15:57.553189669 +0200
@@ -71,6 +71,7 @@
 #define LOAD_PROC      "file-xpm-load"
 #define SAVE_PROC      "file-xpm-save"
 #define PLUG_IN_BINARY "file-xpm"
+#define PLUG_IN_ROLE   "gimp-file-xpm"
 #define SCALE_WIDTH    125
 
 /* Structs for the save dialog */
diff -aur plug-ins-orig/common/file-xwd.c plug-ins/common/file-xwd.c
--- plug-ins-orig/common/file-xwd.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/file-xwd.c	2011-04-02 14:15:57.559856335 +0200
@@ -64,6 +64,7 @@
 #define LOAD_PROC      "file-xwd-load"
 #define SAVE_PROC      "file-xwd-save"
 #define PLUG_IN_BINARY "file-xwd"
+#define PLUG_IN_ROLE   "gimp-file-xwd"
 
 
 typedef gulong  L_CARD32;
diff -aur plug-ins-orig/common/film.c plug-ins/common/film.c
--- plug-ins-orig/common/film.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/film.c	2011-04-02 14:20:16.013189667 +0200
@@ -33,6 +33,7 @@
 
 #define PLUG_IN_PROC        "plug-in-film"
 #define PLUG_IN_BINARY      "film"
+#define PLUG_IN_ROLE        "gimp-film"
 
 /* Maximum number of pictures per film */
 #define MAX_FILM_PICTURES   64
@@ -1244,7 +1245,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dlg = gimp_dialog_new (_("Filmstrip"), PLUG_IN_BINARY,
+  dlg = gimp_dialog_new (_("Filmstrip"), PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/filter-pack.c plug-ins/common/filter-pack.c
--- plug-ins-orig/common/filter-pack.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/filter-pack.c	2011-04-02 14:20:19.893189667 +0200
@@ -33,6 +33,7 @@
 
 #define PLUG_IN_PROC       "plug-in-filter-pack"
 #define PLUG_IN_BINARY     "filter-pack"
+#define PLUG_IN_ROLE       "gimp-filter-pack"
 
 #define MAX_PREVIEW_SIZE   125
 #define MAX_ROUGHNESS      128
@@ -1197,7 +1198,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dlg = gimp_dialog_new (_("Filter Pack Simulation"), PLUG_IN_BINARY,
+  dlg = gimp_dialog_new (_("Filter Pack Simulation"), PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/fractal-trace.c plug-ins/common/fractal-trace.c
--- plug-ins-orig/common/fractal-trace.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/fractal-trace.c	2011-04-02 14:20:23.836523002 +0200
@@ -22,6 +22,7 @@
 
 #define PLUG_IN_PROC     "plug-in-fractal-trace"
 #define PLUG_IN_BINARY   "fractal-trace"
+#define PLUG_IN_ROLE     "gimp-fractal-trace"
 #define PLUG_IN_VERSION  "v0.4 test version (Dec. 25 1997)"
 
 /*****************************************************************************/
@@ -687,7 +688,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Fractal Trace"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Fractal Trace"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/gee-zoom.c plug-ins/common/gee-zoom.c
--- plug-ins-orig/common/gee-zoom.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/gee-zoom.c	2011-04-02 14:20:27.836523002 +0200
@@ -50,6 +50,7 @@
 
 #define PLUG_IN_PROC   "plug-in-the-old-egg"
 #define PLUG_IN_BINARY "gee-zoom"
+#define PLUG_IN_ROLE   "gimp-gee-zoom"
 
 
 /* Declare local functions. */
@@ -193,7 +194,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dlg = gimp_dialog_new (_("Gee Zoom"), PLUG_IN_BINARY,
+  dlg = gimp_dialog_new (_("Gee Zoom"), PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, PLUG_IN_PROC,
                          NULL);
diff -aur plug-ins-orig/common/gee.c plug-ins/common/gee.c
--- plug-ins-orig/common/gee.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/gee.c	2011-04-02 14:20:31.596523002 +0200
@@ -30,6 +30,7 @@
 
 #define PLUG_IN_PROC   "plug-in-the-slimy-egg"
 #define PLUG_IN_BINARY "gee"
+#define PLUG_IN_ROLE   "gimp-gee"
 
 /* These aren't really redefinable, easily. */
 #define IWIDTH  256
@@ -156,7 +157,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Gee Slime"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Gee Slime"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
                             NULL);
diff -aur plug-ins-orig/common/gradient-map.c plug-ins/common/gradient-map.c
--- plug-ins-orig/common/gradient-map.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/gradient-map.c	2011-04-02 14:15:57.583189668 +0200
@@ -31,6 +31,7 @@
 #define GRADMAP_PROC    "plug-in-gradmap"
 #define PALETTEMAP_PROC "plug-in-palettemap"
 #define PLUG_IN_BINARY  "gradient-map"
+#define PLUG_IN_ROLE    "gimp-gradient-map"
 #define NSAMPLES        256
 #define LUMINOSITY(X)   (GIMP_RGB_LUMINANCE (X[0], X[1], X[2]) + 0.5)
 
diff -aur plug-ins-orig/common/grid.c plug-ins/common/grid.c
--- plug-ins-orig/common/grid.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/grid.c	2011-04-02 14:20:35.539856334 +0200
@@ -48,6 +48,7 @@
 
 #define PLUG_IN_PROC        "plug-in-grid"
 #define PLUG_IN_BINARY      "grid"
+#define PLUG_IN_ROLE        "gimp-grid"
 #define SPIN_BUTTON_WIDTH    8
 #define COLOR_BUTTON_WIDTH  55
 
@@ -631,7 +632,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  main_dialog = dlg = gimp_dialog_new (_("Grid"), PLUG_IN_BINARY,
+  main_dialog = dlg = gimp_dialog_new (_("Grid"), PLUG_IN_ROLE,
                                        NULL, 0,
                                        gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/hot.c plug-ins/common/hot.c
--- plug-ins-orig/common/hot.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/hot.c	2011-04-02 14:20:39.589856336 +0200
@@ -74,6 +74,7 @@
 
 #define PLUG_IN_PROC   "plug-in-hot"
 #define PLUG_IN_BINARY "hot"
+#define PLUG_IN_ROLE   "gimp-hot"
 
 
 typedef struct
@@ -582,7 +583,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dlg = gimp_dialog_new (_("Hot"), PLUG_IN_BINARY,
+  dlg = gimp_dialog_new (_("Hot"), PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/illusion.c plug-ins/common/illusion.c
--- plug-ins-orig/common/illusion.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/illusion.c	2011-04-02 14:20:43.316523002 +0200
@@ -35,6 +35,7 @@
 
 #define PLUG_IN_PROC    "plug-in-illusion"
 #define PLUG_IN_BINARY  "illusion"
+#define PLUG_IN_ROLE    "gimp-illusion"
 #define PLUG_IN_VERSION "v0.8 (May 14 2000)"
 
 
@@ -346,7 +347,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Illusion"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Illusion"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/iwarp.c plug-ins/common/iwarp.c
--- plug-ins-orig/common/iwarp.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/iwarp.c	2011-04-02 14:20:47.163189668 +0200
@@ -52,6 +52,7 @@
 
 #define PLUG_IN_PROC           "plug-in-iwarp"
 #define PLUG_IN_BINARY         "iwarp"
+#define PLUG_IN_ROLE           "gimp-iwarp"
 #define RESPONSE_RESET         1
 
 #define MAX_DEFORM_AREA_RADIUS 250
@@ -1279,7 +1280,7 @@
   if (! iwarp_init ())
     return FALSE;
 
-  dialog = gimp_dialog_new (_("IWarp"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("IWarp"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/jigsaw.c plug-ins/common/jigsaw.c
--- plug-ins-orig/common/jigsaw.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/jigsaw.c	2011-04-02 14:20:51.059856334 +0200
@@ -44,6 +44,7 @@
 
 #define PLUG_IN_PROC   "plug-in-jigsaw"
 #define PLUG_IN_BINARY "jigsaw"
+#define PLUG_IN_ROLE   "gimp-jigsaw"
 
 
 typedef enum
@@ -2412,7 +2413,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Jigsaw"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Jigsaw"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/lcms.c plug-ins/common/lcms.c
--- plug-ins-orig/common/lcms.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/lcms.c	2011-04-02 14:21:14.283189668 +0200
@@ -33,6 +33,7 @@
 
 
 #define PLUG_IN_BINARY          "lcms"
+#define PLUG_IN_ROLE            "gimp-lcms"
 
 #define PLUG_IN_PROC_SET        "plug-in-icc-profile-set"
 #define PLUG_IN_PROC_SET_RGB    "plug-in-icc-profile-set-rgb"
@@ -1231,7 +1232,7 @@
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
   dialog = gimp_dialog_new (_("Convert to RGB working space?"),
-                            PLUG_IN_BINARY,
+                            PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC_APPLY,
 
@@ -1459,7 +1460,7 @@
   dialog = gimp_dialog_new (apply ?
                             _("Convert to ICC Color Profile") :
                             _("Assign ICC Color Profile"),
-                            PLUG_IN_BINARY,
+                            PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func,
                             apply ? PLUG_IN_PROC_APPLY : PLUG_IN_PROC_SET,
diff -aur plug-ins-orig/common/lens-apply.c plug-ins/common/lens-apply.c
--- plug-ins-orig/common/lens-apply.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/lens-apply.c	2011-04-02 14:21:18.213189667 +0200
@@ -46,6 +46,7 @@
 
 #define PLUG_IN_PROC   "plug-in-applylens"
 #define PLUG_IN_BINARY "lens-apply"
+#define PLUG_IN_ROLE   "gimp-lens-apply"
 
 
 /* Declare local functions.
@@ -389,7 +390,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Lens Effect"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Lens Effect"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/lens-distortion.c plug-ins/common/lens-distortion.c
--- plug-ins-orig/common/lens-distortion.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/lens-distortion.c	2011-04-02 14:21:22.276523002 +0200
@@ -33,6 +33,7 @@
 
 #define PLUG_IN_PROC     "plug-in-lens-distortion"
 #define PLUG_IN_BINARY   "lens-distortion"
+#define PLUG_IN_ROLE     "gimp-lens-distortion"
 
 #define RESPONSE_RESET   1
 
@@ -477,7 +478,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Lens Distortion"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Lens Distortion"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/lens-flare.c plug-ins/common/lens-flare.c
--- plug-ins-orig/common/lens-flare.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/lens-flare.c	2011-04-02 14:21:26.066523002 +0200
@@ -54,6 +54,7 @@
 
 #define PLUG_IN_PROC   "plug-in-flarefx"
 #define PLUG_IN_BINARY "flarefx"
+#define PLUG_IN_ROLE   "gimp-flarefx"
 
 /* --- Typedefs --- */
 typedef struct
@@ -302,7 +303,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Lens Flare"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Lens Flare"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/mail.c plug-ins/common/mail.c
--- plug-ins-orig/common/mail.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/mail.c	2011-04-02 14:21:29.916523002 +0200
@@ -110,6 +110,7 @@
 
 #define PLUG_IN_PROC   "plug-in-mail-image"
 #define PLUG_IN_BINARY "mail"
+#define PLUG_IN_ROLE   "gimp-mail"
 
 typedef struct
 {
@@ -403,7 +404,7 @@
       g_free (gump_from);
     }
 
-  dlg = gimp_dialog_new (_("Send by Email"), PLUG_IN_BINARY,
+  dlg = gimp_dialog_new (_("Send by Email"), PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/max-rgb.c plug-ins/common/max-rgb.c
--- plug-ins-orig/common/max-rgb.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/max-rgb.c	2011-04-02 14:21:33.893189667 +0200
@@ -34,6 +34,7 @@
 
 #define PLUG_IN_PROC   "plug-in-max-rgb"
 #define PLUG_IN_BINARY "max-rgb"
+#define PLUG_IN_ROLE   "gimp-max-rgb"
 
 
 static void     query   (void);
@@ -255,7 +256,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Maximum RGB Value"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Maximum RGB Value"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/mosaic.c plug-ins/common/mosaic.c
--- plug-ins-orig/common/mosaic.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/mosaic.c	2011-04-02 14:21:37.716523002 +0200
@@ -34,6 +34,7 @@
 
 #define PLUG_IN_PROC    "plug-in-mosaic"
 #define PLUG_IN_BINARY  "mosaic"
+#define PLUG_IN_ROLE    "gimp-mosaic"
 
 #define SCALE_WIDTH     150
 
@@ -589,7 +590,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Mosaic"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Mosaic"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/newsprint.c plug-ins/common/newsprint.c
--- plug-ins-orig/common/newsprint.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/newsprint.c	2011-04-02 14:21:41.339856334 +0200
@@ -66,6 +66,7 @@
 
 #define PLUG_IN_PROC       "plug-in-newsprint"
 #define PLUG_IN_BINARY     "newsprint"
+#define PLUG_IN_ROLE       "gimp-newsprint"
 
 #define TILE_CACHE_SIZE     16
 #define SCALE_WIDTH        125
@@ -1184,7 +1185,7 @@
         pvals.colourspace = CS_RGB;
     }
 
-  dialog = gimp_dialog_new (_("Newsprint"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Newsprint"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/nl-filter.c plug-ins/common/nl-filter.c
--- plug-ins-orig/common/nl-filter.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/nl-filter.c	2011-04-02 14:21:45.099856334 +0200
@@ -40,6 +40,7 @@
 
 #define PLUG_IN_PROC   "plug-in-nlfilt"
 #define PLUG_IN_BINARY "nl-filter"
+#define PLUG_IN_ROLE   "gimp-nl-filter"
 
 
 typedef struct
@@ -1012,7 +1013,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("NL Filter"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("NL Filter"), PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/noise-hsv.c plug-ins/common/noise-hsv.c
--- plug-ins-orig/common/noise-hsv.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/noise-hsv.c	2011-04-02 14:21:48.813189667 +0200
@@ -32,6 +32,7 @@
 #define HSV_NOISE_PROC   "plug-in-hsv-noise"
 #define SCATTER_HSV_PROC "plug-in-scatter-hsv"
 #define PLUG_IN_BINARY   "noise-hsv"
+#define PLUG_IN_ROLE     "gimp-noise-hsv"
 #define SCALE_WIDTH      100
 #define ENTRY_WIDTH        3
 
@@ -360,7 +361,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("HSV Noise"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("HSV Noise"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, HSV_NOISE_PROC,
 
diff -aur plug-ins-orig/common/noise-randomize.c plug-ins/common/noise-randomize.c
--- plug-ins-orig/common/noise-randomize.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/noise-randomize.c	2011-04-02 14:21:52.946523002 +0200
@@ -83,6 +83,7 @@
  ********************************/
 
 #define PLUG_IN_BINARY "noise-randomize"
+#define PLUG_IN_ROLE   "gimp-noise-randomize"
 
 /*
  *  progress meter update frequency
@@ -728,7 +729,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dlg = gimp_dialog_new (gettext (RNDM_NAME[rndm_type - 1]), PLUG_IN_BINARY,
+  dlg = gimp_dialog_new (gettext (RNDM_NAME[rndm_type - 1]), PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, PLUG_IN_PROC[rndm_type - 1],
 
diff -aur plug-ins-orig/common/noise-rgb.c plug-ins/common/noise-rgb.c
--- plug-ins-orig/common/noise-rgb.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/noise-rgb.c	2011-04-02 14:21:57.123189668 +0200
@@ -42,6 +42,7 @@
 #define RGB_NOISE_PROC   "plug-in-rgb-noise"
 #define NOISIFY_PROC     "plug-in-noisify"
 #define PLUG_IN_BINARY   "noise-rgb"
+#define PLUG_IN_ROLE     "gimp-noise-rgb"
 #define SCALE_WIDTH      125
 #define TILE_CACHE_SIZE  16
 
@@ -446,7 +447,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("RGB Noise"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("RGB Noise"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, RGB_NOISE_PROC,
 
diff -aur plug-ins-orig/common/noise-solid.c plug-ins/common/noise-solid.c
--- plug-ins-orig/common/noise-solid.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/noise-solid.c	2011-04-02 14:22:00.906523002 +0200
@@ -74,6 +74,7 @@
 
 #define PLUG_IN_PROC   "plug-in-solid-noise"
 #define PLUG_IN_BINARY "noise-solid"
+#define PLUG_IN_ROLE   "gimp-noise-solid"
 
 #define TABLE_SIZE      64
 #define WEIGHT(T)      ((2.0*fabs(T)-3.0)*(T)*(T)+1.0)
@@ -559,7 +560,7 @@
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
   /*  Dialog initialization  */
-  dialog = gimp_dialog_new (_("Solid Noise"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Solid Noise"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/noise-spread.c plug-ins/common/noise-spread.c
--- plug-ins-orig/common/noise-spread.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/noise-spread.c	2011-04-02 14:22:04.683189668 +0200
@@ -26,6 +26,7 @@
 
 #define PLUG_IN_PROC    "plug-in-spread"
 #define PLUG_IN_BINARY  "noise-spread"
+#define PLUG_IN_ROLE    "gimp-noise-spread"
 #define TILE_CACHE_SIZE 16
 
 typedef struct
@@ -340,7 +341,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Spread"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Spread"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/nova.c plug-ins/common/nova.c
--- plug-ins-orig/common/nova.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/nova.c	2011-04-02 14:22:08.323189668 +0200
@@ -70,6 +70,7 @@
 
 #define PLUG_IN_PROC   "plug-in-nova"
 #define PLUG_IN_BINARY "nova"
+#define PLUG_IN_ROLE   "gimp-nova"
 
 #define SCALE_WIDTH    125
 
@@ -300,7 +301,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Supernova"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Supernova"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/oilify.c plug-ins/common/oilify.c
--- plug-ins-orig/common/oilify.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/oilify.c	2011-04-02 14:22:12.106523002 +0200
@@ -33,6 +33,7 @@
 #define PLUG_IN_PROC          "plug-in-oilify"
 #define PLUG_IN_ENHANCED_PROC "plug-in-oilify-enhanced"
 #define PLUG_IN_BINARY        "oilify"
+#define PLUG_IN_ROLE          "gimp-oilify"
 
 #define SCALE_WIDTH    125
 #define HISTSIZE       256
@@ -773,7 +774,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Oilify"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Oilify"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/photocopy.c plug-ins/common/photocopy.c
--- plug-ins-orig/common/photocopy.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/photocopy.c	2011-04-02 14:22:15.803189668 +0200
@@ -37,6 +37,7 @@
 
 #define PLUG_IN_PROC    "plug-in-photocopy"
 #define PLUG_IN_BINARY  "photocopy"
+#define PLUG_IN_ROLE    "gimp-photocopy"
 #define TILE_CACHE_SIZE 48
 #define GAMMA           1.0
 #define EPSILON         2
@@ -835,7 +836,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Photocopy"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Photocopy"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/pixelize.c plug-ins/common/pixelize.c
--- plug-ins-orig/common/pixelize.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/pixelize.c	2011-04-02 14:22:19.443189668 +0200
@@ -70,6 +70,7 @@
 #define PIXELIZE_PROC   "plug-in-pixelize"
 #define PIXELIZE2_PROC  "plug-in-pixelize2"
 #define PLUG_IN_BINARY  "pixelize"
+#define PLUG_IN_ROLE    "gimp-pixelize"
 #define TILE_CACHE_SIZE  16
 #define SCALE_WIDTH     125
 #define ENTRY_WIDTH       6
@@ -312,7 +313,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Pixelize"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Pixelize"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PIXELIZE_PROC,
 
diff -aur plug-ins-orig/common/plasma.c plug-ins/common/plasma.c
--- plug-ins-orig/common/plasma.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/plasma.c	2011-04-02 14:22:23.139856334 +0200
@@ -68,6 +68,7 @@
 
 #define PLUG_IN_PROC     "plug-in-plasma"
 #define PLUG_IN_BINARY   "plasma"
+#define PLUG_IN_ROLE     "gimp-plasma"
 #define SCALE_WIDTH      48
 #define TILE_CACHE_SIZE  32
 
@@ -296,7 +297,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Plasma"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Plasma"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/plugin-browser.c plug-ins/common/plugin-browser.c
--- plug-ins-orig/common/plugin-browser.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/plugin-browser.c	2011-04-02 14:22:27.163189668 +0200
@@ -35,6 +35,7 @@
 
 #define PLUG_IN_PROC    "plug-in-plug-in-details"
 #define PLUG_IN_BINARY  "plugin-browser"
+#define PLUG_IN_ROLE    "gimp-plugin-browser"
 #define DBL_LIST_WIDTH  250
 #define DBL_WIDTH       (DBL_LIST_WIDTH + 400)
 #define DBL_HEIGHT      250
@@ -550,7 +551,7 @@
 
   browser = g_new0 (PluginBrowser, 1);
 
-  browser->dialog = gimp_dialog_new (_("Plug-In Browser"), PLUG_IN_BINARY,
+  browser->dialog = gimp_dialog_new (_("Plug-In Browser"), PLUG_IN_ROLE,
                                      NULL, 0,
                                      gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/polar-coords.c plug-ins/common/polar-coords.c
--- plug-ins-orig/common/polar-coords.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/polar-coords.c	2011-04-02 14:22:31.059856334 +0200
@@ -69,6 +69,7 @@
 
 #define PLUG_IN_PROC    "plug-in-polar-coords"
 #define PLUG_IN_BINARY  "polar-coords"
+#define PLUG_IN_ROLE    "gimp-polar-coords"
 #define PLUG_IN_VERSION "July 1997, 0.5"
 
 #define SCALE_WIDTH     200
@@ -589,7 +590,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Polar Coordinates"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Polar Coordinates"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/procedure-browser.c plug-ins/common/procedure-browser.c
--- plug-ins-orig/common/procedure-browser.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/procedure-browser.c	2011-04-02 14:15:57.676523002 +0200
@@ -50,6 +50,7 @@
 
 #define PLUG_IN_PROC   "plug-in-dbbrowser"
 #define PLUG_IN_BINARY "procedure-browser"
+#define PLUG_IN_ROLE   "gimp-procedure-browser"
 
 
 static void   query (void);
diff -aur plug-ins-orig/common/qbist.c plug-ins/common/qbist.c
--- plug-ins-orig/common/qbist.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/qbist.c	2011-04-02 14:22:34.899856334 +0200
@@ -52,6 +52,7 @@
 
 #define PLUG_IN_PROC    "plug-in-qbist"
 #define PLUG_IN_BINARY  "qbist"
+#define PLUG_IN_ROLE    "gimp-qbist"
 #define PLUG_IN_VERSION "January 2001, 1.12"
 
 /** types *******************************************************************/
@@ -799,7 +800,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("G-Qbist"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("G-Qbist"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/red-eye-removal.c plug-ins/common/red-eye-removal.c
--- plug-ins-orig/common/red-eye-removal.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/red-eye-removal.c	2011-04-02 14:22:38.603189668 +0200
@@ -75,6 +75,7 @@
 
 #define PLUG_IN_PROC    "plug-in-red-eye-removal"
 #define PLUG_IN_BINARY  "red-eye-removal"
+#define PLUG_IN_ROLE    "gimp-red-eye-removal"
 
 
 const GimpPlugInInfo PLUG_IN_INFO =
@@ -138,7 +139,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Red Eye Removal"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Red Eye Removal"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
                             GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
diff -aur plug-ins-orig/common/ripple.c plug-ins/common/ripple.c
--- plug-ins-orig/common/ripple.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/ripple.c	2011-04-02 14:22:42.579856334 +0200
@@ -33,6 +33,7 @@
 /* Some useful macros */
 #define PLUG_IN_PROC    "plug-in-ripple"
 #define PLUG_IN_BINARY  "ripple"
+#define PLUG_IN_ROLE    "gimp-ripple"
 
 #define SCALE_WIDTH     200
 #define TILE_CACHE_SIZE  16
@@ -479,7 +480,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Ripple"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Ripple"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/sample-colorize.c plug-ins/common/sample-colorize.c
--- plug-ins-orig/common/sample-colorize.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/sample-colorize.c	2011-04-02 14:22:47.266523002 +0200
@@ -38,6 +38,7 @@
 
 #define PLUG_IN_PROC        "plug-in-sample-colorize"
 #define PLUG_IN_BINARY      "sample-colorize"
+#define PLUG_IN_ROLE        "gimp-sample-colorize"
 #define NUMBER_IN_ARGS      13
 
 #define TILE_CACHE_SIZE      32
@@ -1314,7 +1315,7 @@
 
   /* Main Dialog */
   g_di.dialog = dialog =
-    gimp_dialog_new (_("Sample Colorize"), PLUG_IN_BINARY,
+    gimp_dialog_new (_("Sample Colorize"), PLUG_IN_ROLE,
                      NULL, 0,
                      gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/screenshot.c plug-ins/common/screenshot.c
--- plug-ins-orig/common/screenshot.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/screenshot.c	2011-04-02 14:22:51.146523002 +0200
@@ -140,6 +140,7 @@
 /* Defines */
 #define PLUG_IN_PROC   "plug-in-screenshot"
 #define PLUG_IN_BINARY "screenshot"
+#define PLUG_IN_ROLE   "gimp-screenshot"
 
 #ifdef __GNUC__
 #ifdef GDK_NATIVE_WINDOW_POINTER
@@ -1056,7 +1057,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Screenshot"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Screenshot"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/sharpen.c plug-ins/common/sharpen.c
--- plug-ins-orig/common/sharpen.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/sharpen.c	2011-04-02 14:22:55.009856334 +0200
@@ -33,6 +33,7 @@
 
 #define PLUG_IN_PROC    "plug-in-sharpen"
 #define PLUG_IN_BINARY  "sharpen"
+#define PLUG_IN_ROLE    "gimp-sharpen"
 #define PLUG_IN_VERSION "1.4.2 - 3 June 1998"
 #define SCALE_WIDTH     100
 
@@ -472,7 +473,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Sharpen"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Sharpen"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/shift.c plug-ins/common/shift.c
--- plug-ins-orig/common/shift.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/shift.c	2011-04-02 14:22:58.856523000 +0200
@@ -33,6 +33,7 @@
 
 #define PLUG_IN_PROC      "plug-in-shift"
 #define PLUG_IN_BINARY    "shift"
+#define PLUG_IN_ROLE      "gimp-shift"
 #define SPIN_BUTTON_WIDTH  8
 #define TILE_CACHE_SIZE   16
 #define HORIZONTAL         0
@@ -351,7 +352,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Shift"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Shift"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/sinus.c plug-ins/common/sinus.c
--- plug-ins-orig/common/sinus.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/sinus.c	2011-04-02 14:23:03.193189669 +0200
@@ -36,6 +36,7 @@
 
 #define PLUG_IN_PROC   "plug-in-sinus"
 #define PLUG_IN_BINARY "sinus"
+#define PLUG_IN_ROLE   "gimp-sinus"
 
 
 /*
@@ -644,7 +645,7 @@
 
   /* Create Main window with a vbox */
   /* ============================== */
-  dlg = gimp_dialog_new (_("Sinus"), PLUG_IN_BINARY,
+  dlg = gimp_dialog_new (_("Sinus"), PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/smooth-palette.c plug-ins/common/smooth-palette.c
--- plug-ins-orig/common/smooth-palette.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/smooth-palette.c	2011-04-02 14:23:07.106523002 +0200
@@ -31,6 +31,7 @@
 
 #define PLUG_IN_PROC   "plug-in-smooth-palette"
 #define PLUG_IN_BINARY "smooth-palette"
+#define PLUG_IN_ROLE   "gimp-smooth-palette"
 
 
 /* Declare local functions. */
@@ -408,7 +409,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dlg = gimp_dialog_new (_("Smooth Palette"), PLUG_IN_BINARY,
+  dlg = gimp_dialog_new (_("Smooth Palette"), PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/softglow.c plug-ins/common/softglow.c
--- plug-ins-orig/common/softglow.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/softglow.c	2011-04-02 14:23:11.753189669 +0200
@@ -37,6 +37,7 @@
 
 #define PLUG_IN_PROC    "plug-in-softglow"
 #define PLUG_IN_BINARY  "softglow"
+#define PLUG_IN_ROLE    "gimp-softglow"
 #define TILE_CACHE_SIZE 48
 #define SIGMOIDAL_BASE   2
 #define SIGMOIDAL_RANGE 20
@@ -628,7 +629,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Softglow"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Softglow"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/sparkle.c plug-ins/common/sparkle.c
--- plug-ins-orig/common/sparkle.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/sparkle.c	2011-04-02 14:23:15.643189668 +0200
@@ -40,6 +40,7 @@
 
 #define PLUG_IN_PROC   "plug-in-sparkle"
 #define PLUG_IN_BINARY "sparkle"
+#define PLUG_IN_ROLE   "gimp-sparkle"
 
 #define SCALE_WIDTH    175
 #define ENTRY_WIDTH      7
@@ -333,7 +334,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Sparkle"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Sparkle"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/sphere-designer.c plug-ins/common/sphere-designer.c
--- plug-ins-orig/common/sphere-designer.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/sphere-designer.c	2011-04-02 14:23:19.483189668 +0200
@@ -50,6 +50,7 @@
 
 #define PLUG_IN_PROC   "plug-in-spheredesigner"
 #define PLUG_IN_BINARY "sphere-designer"
+#define PLUG_IN_ROLE   "gimp-sphere-designer"
 
 #define RESPONSE_RESET 1
 
@@ -2540,7 +2541,7 @@
   GtkWidget  *list;
   GimpRGB     rgb = { 0, 0, 0, 0 };
 
-  window = gimp_dialog_new (_("Sphere Designer"), PLUG_IN_BINARY,
+  window = gimp_dialog_new (_("Sphere Designer"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/threshold-alpha.c plug-ins/common/threshold-alpha.c
--- plug-ins-orig/common/threshold-alpha.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/threshold-alpha.c	2011-04-02 14:23:23.233189669 +0200
@@ -31,6 +31,7 @@
 
 #define PLUG_IN_PROC    "plug-in-threshold-alpha"
 #define PLUG_IN_BINARY  "threshold-alpha"
+#define PLUG_IN_ROLE    "gimp-threshold-alpha"
 
 #define SCALE_WIDTH     120
 
@@ -244,7 +245,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Threshold Alpha"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Threshold Alpha"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/tile-glass.c plug-ins/common/tile-glass.c
--- plug-ins-orig/common/tile-glass.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/tile-glass.c	2011-04-02 14:23:27.536523000 +0200
@@ -49,6 +49,7 @@
 
 #define PLUG_IN_PROC   "plug-in-glasstile"
 #define PLUG_IN_BINARY "tile-glass"
+#define PLUG_IN_ROLE   "gimp-tile-glass"
 
 
 /* --- Typedefs --- */
@@ -246,7 +247,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Glass Tile"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Glass Tile"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/tile-paper.c plug-ins/common/tile-paper.c
--- plug-ins-orig/common/tile-paper.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/tile-paper.c	2011-04-02 14:23:31.096523000 +0200
@@ -35,6 +35,7 @@
 
 #define PLUG_IN_PROC   "plug-in-papertile"
 #define PLUG_IN_BINARY "tile-paper"
+#define PLUG_IN_ROLE   "gimp-tile-paper"
 
 /*===========================================================================*/
 /* TYPES                                                                     */
@@ -239,7 +240,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Paper Tile"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Paper Tile"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/tile-small.c plug-ins/common/tile-small.c
--- plug-ins-orig/common/tile-small.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/tile-small.c	2011-04-02 14:23:34.586523002 +0200
@@ -45,6 +45,7 @@
 
 #define PLUG_IN_PROC   "plug-in-small-tiles"
 #define PLUG_IN_BINARY "tile-small"
+#define PLUG_IN_ROLE   "gimp-tile-small"
 
 /***** Magic numbers *****/
 
@@ -360,7 +361,7 @@
 
   cache_preview (); /* Get the preview image */
 
-  dlg = gimp_dialog_new (_("Small Tiles"), PLUG_IN_BINARY,
+  dlg = gimp_dialog_new (_("Small Tiles"), PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/tile.c plug-ins/common/tile.c
--- plug-ins-orig/common/tile.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/tile.c	2011-04-02 14:23:38.519856335 +0200
@@ -30,6 +30,7 @@
 
 #define PLUG_IN_PROC   "plug-in-tile"
 #define PLUG_IN_BINARY "tile"
+#define PLUG_IN_ROLE   "gimp-tile"
 
 
 typedef struct
@@ -397,7 +398,7 @@
   tvals.new_width  = width;
   tvals.new_height = height;
 
-  dlg = gimp_dialog_new (_("Tile"), PLUG_IN_BINARY,
+  dlg = gimp_dialog_new (_("Tile"), PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/unit-editor.c plug-ins/common/unit-editor.c
--- plug-ins-orig/common/unit-editor.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/unit-editor.c	2011-04-02 14:23:46.593189669 +0200
@@ -31,6 +31,7 @@
 
 #define PLUG_IN_PROC     "plug-in-unit-editor"
 #define PLUG_IN_BINARY   "unit-editor"
+#define PLUG_IN_ROLE     "gimp-unit-editor"
 #define RESPONSE_REFRESH 1
 
 enum
@@ -204,7 +205,7 @@
 
   GimpUnit   unit = GIMP_UNIT_PIXEL;
 
-  dialog = gimp_dialog_new (_("Add a New Unit"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Add a New Unit"), PLUG_IN_ROLE,
                             main_dialog, GTK_DIALOG_MODAL,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
@@ -405,7 +406,7 @@
   tv = gtk_tree_view_new_with_model (GTK_TREE_MODEL (list_store));
   g_object_unref (list_store);
 
-  dialog = gimp_dialog_new (_("Unit Editor"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Unit Editor"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/unsharp-mask.c plug-ins/common/unsharp-mask.c
--- plug-ins-orig/common/unsharp-mask.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/unsharp-mask.c	2011-04-02 14:23:53.176523000 +0200
@@ -29,6 +29,7 @@
 
 #define PLUG_IN_PROC    "plug-in-unsharp-mask"
 #define PLUG_IN_BINARY  "unsharp-mask"
+#define PLUG_IN_ROLE    "gimp-unsharp-mask"
 
 #define SCALE_WIDTH   120
 #define ENTRY_WIDTH     5
@@ -826,7 +827,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Unsharp Mask"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Unsharp Mask"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/value-propagate.c plug-ins/common/value-propagate.c
--- plug-ins-orig/common/value-propagate.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/value-propagate.c	2011-04-02 14:23:57.786523002 +0200
@@ -45,6 +45,7 @@
 #define ERODE_PROC           "plug-in-erode"
 #define DILATE_PROC          "plug-in-dilate"
 #define PLUG_IN_BINARY       "value-propagate"
+#define PLUG_IN_ROLE         "gimp-value-propagate"
 #define PLUG_IN_IMAGE_TYPES  "RGB*, GRAY*"
 
 #define VP_RGB          (1 << 0)
@@ -1085,7 +1086,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Value Propagate"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Value Propagate"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, VPROPAGATE_PROC,
 
diff -aur plug-ins-orig/common/van-gogh-lic.c plug-ins/common/van-gogh-lic.c
--- plug-ins-orig/common/van-gogh-lic.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/van-gogh-lic.c	2011-04-02 14:24:01.489856334 +0200
@@ -50,6 +50,7 @@
 
 #define PLUG_IN_PROC   "plug-in-lic"
 #define PLUG_IN_BINARY "van-gogh-lic"
+#define PLUG_IN_ROLE   "gimp-van-gogh-lic"
 
 typedef enum
 {
@@ -637,7 +638,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Van Gogh (LIC)"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Van Gogh (LIC)"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/video.c plug-ins/common/video.c
--- plug-ins-orig/common/video.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/video.c	2011-04-02 14:24:05.433189669 +0200
@@ -29,6 +29,7 @@
 
 #define PLUG_IN_PROC     "plug-in-video"
 #define PLUG_IN_BINARY   "video"
+#define PLUG_IN_ROLE     "gimp-video"
 
 #define MAX_PATTERNS       9
 #define MAX_PATTERN_SIZE 108
@@ -2013,7 +2014,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dlg = gimp_dialog_new (_("Video"), PLUG_IN_BINARY,
+  dlg = gimp_dialog_new (_("Video"), PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/warp.c plug-ins/common/warp.c
--- plug-ins-orig/common/warp.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/warp.c	2011-04-02 14:24:09.313189669 +0200
@@ -75,6 +75,7 @@
 
 #define PLUG_IN_PROC    "plug-in-warp"
 #define PLUG_IN_BINARY  "warp"
+#define PLUG_IN_ROLE    "gimp-warp"
 #define ENTRY_WIDTH     75
 #define TILE_CACHE_SIZE 30  /* was 48. There is a cache flush problem in GIMP preventing sequential updates */
 #define MIN_ARGS         6  /* minimum number of arguments required */
@@ -372,7 +373,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dlg = gimp_dialog_new (_("Warp"), PLUG_IN_BINARY,
+  dlg = gimp_dialog_new (_("Warp"), PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/waves.c plug-ins/common/waves.c
--- plug-ins-orig/common/waves.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/waves.c	2011-04-02 14:24:13.499856335 +0200
@@ -34,6 +34,7 @@
 
 #define PLUG_IN_PROC   "plug-in-waves"
 #define PLUG_IN_BINARY "waves"
+#define PLUG_IN_ROLE   "gimp-waves"
 
 typedef enum
 {
@@ -245,7 +246,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Waves"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Waves"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/web-browser.c plug-ins/common/web-browser.c
--- plug-ins-orig/common/web-browser.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/web-browser.c	2011-04-02 14:15:57.773189667 +0200
@@ -35,6 +35,7 @@
 
 #define PLUG_IN_PROC   "plug-in-web-browser"
 #define PLUG_IN_BINARY "web-browser"
+#define PLUG_IN_ROLE   "gimp-web-browser"
 
 
 static void     query            (void);
diff -aur plug-ins-orig/common/whirl-pinch.c plug-ins/common/whirl-pinch.c
--- plug-ins-orig/common/whirl-pinch.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/whirl-pinch.c	2011-04-02 14:24:17.543189668 +0200
@@ -54,6 +54,7 @@
 
 #define PLUG_IN_PROC    "plug-in-whirl-pinch"
 #define PLUG_IN_BINARY  "whirl-pinch"
+#define PLUG_IN_ROLE    "gimp-whirl-pinch"
 #define PLUG_IN_VERSION "May 1997, 2.09"
 
 /***** Magic numbers *****/
@@ -524,7 +525,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Whirl and Pinch"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Whirl and Pinch"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/common/wind.c plug-ins/common/wind.c
--- plug-ins-orig/common/wind.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/common/wind.c	2011-04-02 14:24:22.113189667 +0200
@@ -39,6 +39,7 @@
 
 #define PLUG_IN_PROC   "plug-in-wind"
 #define PLUG_IN_BINARY "wind"
+#define PLUG_IN_ROLE   "gimp-wind"
 
 #define COMPARE_WIDTH    3
 
@@ -875,7 +876,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Wind"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Wind"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/file-bmp/bmp.h plug-ins/file-bmp/bmp.h
--- plug-ins-orig/file-bmp/bmp.h	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/file-bmp/bmp.h	2011-04-02 14:16:00.166523001 +0200
@@ -22,6 +22,7 @@
 #define LOAD_PROC      "file-bmp-load"
 #define SAVE_PROC      "file-bmp-save"
 #define PLUG_IN_BINARY "file-bmp"
+#define PLUG_IN_ROLE   "gimp-file-bmp"
 
 #define MAXCOLORS   256
 
diff -aur plug-ins-orig/file-fits/fits.c plug-ins/file-fits/fits.c
--- plug-ins-orig/file-fits/fits.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/file-fits/fits.c	2011-04-02 14:24:26.729856334 +0200
@@ -52,6 +52,7 @@
 #define LOAD_PROC      "file-fits-load"
 #define SAVE_PROC      "file-fits-save"
 #define PLUG_IN_BINARY "file-fits"
+#define PLUG_IN_ROLE   "gimp-file-fits"
 
 
 /* Load info */
@@ -989,7 +990,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Load FITS File"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Load FITS File"), PLUG_IN_ROLE,
                             NULL, 0,
 			    gimp_standard_help_func, LOAD_PROC,
 
diff -aur plug-ins-orig/file-fli/fli-gimp.c plug-ins/file-fli/fli-gimp.c
--- plug-ins-orig/file-fli/fli-gimp.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/file-fli/fli-gimp.c	2011-04-02 14:24:31.536523000 +0200
@@ -68,6 +68,7 @@
 #define SAVE_PROC      "file-fli-save"
 #define INFO_PROC      "file-fli-info"
 #define PLUG_IN_BINARY "file-fli"
+#define PLUG_IN_ROLE   "gimp-file-fli"
 
 
 static void      query       (void);
@@ -842,7 +843,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("GFLI 1.3 - Load framestack"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("GFLI 1.3 - Load framestack"), PLUG_IN_ROLE,
                             NULL, 0,
 			    gimp_standard_help_func, LOAD_PROC,
 
diff -aur plug-ins-orig/file-ico/ico-load.c plug-ins/file-ico/ico-load.c
--- plug-ins-orig/file-ico/ico-load.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/file-ico/ico-load.c	2011-04-02 15:39:19.719856334 +0200
@@ -286,14 +286,22 @@
   switch (color_type)
     {
     case PNG_COLOR_TYPE_GRAY:
+#if PNG_LIBPNG_VER < 10400
       png_set_gray_1_2_4_to_8 (png_ptr);
+#else
+      png_set_expand_gray_1_2_4_to_8(png_ptr);
+#endif
       if ( bit_depth == 16 )
         png_set_strip_16 (png_ptr);
       png_set_gray_to_rgb (png_ptr);
       png_set_add_alpha (png_ptr, 0xff, PNG_FILLER_AFTER);
       break;
     case PNG_COLOR_TYPE_GRAY_ALPHA:
+#if PNG_LIBPNG_VER < 10400
       png_set_gray_1_2_4_to_8 (png_ptr);
+#else
+      png_set_expand_gray_1_2_4_to_8(png_ptr);
+#endif
       if ( bit_depth == 16 )
         png_set_strip_16 (png_ptr);
       png_set_gray_to_rgb (png_ptr);
diff -aur plug-ins-orig/file-ico/ico.h plug-ins/file-ico/ico.h
--- plug-ins-orig/file-ico/ico.h	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/file-ico/ico.h	2011-04-02 14:16:00.166523001 +0200
@@ -33,6 +33,7 @@
 #endif
 
 #define PLUG_IN_BINARY      "file-ico"
+#define PLUG_IN_ROLE        "gimp-file-ico"
 
 #define ICO_PNG_MAGIC       0x474e5089
 #define ICO_ALPHA_THRESHOLD 127
diff -aur plug-ins-orig/file-jpeg/jpeg-exif.c plug-ins/file-jpeg/jpeg-exif.c
--- plug-ins-orig/file-jpeg/jpeg-exif.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/file-jpeg/jpeg-exif.c	2011-04-02 14:24:35.696523001 +0200
@@ -293,7 +293,7 @@
   GdkPixbuf *pixbuf;
   gint       response;
 
-  dialog = gimp_dialog_new (_("Rotate Image?"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Rotate Image?"), PLUG_IN_ROLE,
                             NULL, 0, NULL, NULL,
 
                             _("_Keep Orientation"), GTK_RESPONSE_CANCEL,
diff -aur plug-ins-orig/file-jpeg/jpeg.h plug-ins/file-jpeg/jpeg.h
--- plug-ins-orig/file-jpeg/jpeg.h	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/file-jpeg/jpeg.h	2011-04-02 14:16:00.169856334 +0200
@@ -19,6 +19,7 @@
 #define LOAD_THUMB_PROC "file-jpeg-load-thumb"
 #define SAVE_PROC       "file-jpeg-save"
 #define PLUG_IN_BINARY  "file-jpeg"
+#define PLUG_IN_ROLE    "gimp-file-jpeg"
 
 /* headers used in some APPn markers */
 #define JPEG_APP_HEADER_EXIF "Exif\0\0"
diff -aur plug-ins-orig/file-psd/psd-save.c plug-ins/file-psd/psd-save.c
--- plug-ins-orig/file-psd/psd-save.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/file-psd/psd-save.c	2011-04-02 14:15:57.856523000 +0200
@@ -80,6 +80,7 @@
 
 #define SAVE_PROC      "file-psd-save"
 #define PLUG_IN_BINARY "file-psd-save"
+#define PLUG_IN_ROLE   "gimp-file-psd-save"
 
 /* set to TRUE if you want debugging, FALSE otherwise */
 #define DEBUG FALSE
diff -aur plug-ins-orig/file-psd/psd.h plug-ins/file-psd/psd.h
--- plug-ins-orig/file-psd/psd.h	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/file-psd/psd.h	2011-04-02 14:16:00.173189667 +0200
@@ -41,6 +41,7 @@
 #define LOAD_THUMB_PROC                 "file-psd-load-thumb"
 #define SAVE_PROC                       "file-psd-save"
 #define PLUG_IN_BINARY                  "file-psd"
+#define PLUG_IN_ROLE                    "gimp-file-psd"
 
 #define DECODE_XMP_PROC                 "plug-in-metadata-decode-xmp"
 
diff -aur plug-ins-orig/file-sgi/sgi.c plug-ins/file-sgi/sgi.c
--- plug-ins-orig/file-sgi/sgi.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/file-sgi/sgi.c	2011-04-02 14:15:57.869856336 +0200
@@ -47,6 +47,7 @@
 #define LOAD_PROC        "file-sgi-load"
 #define SAVE_PROC        "file-sgi-save"
 #define PLUG_IN_BINARY   "file-sgi"
+#define PLUG_IN_ROLE     "gimp-file-sgi"
 #define PLUG_IN_VERSION  "1.1.1 - 17 May 1998"
 
 
diff -aur plug-ins-orig/file-uri/uri.c plug-ins/file-uri/uri.c
--- plug-ins-orig/file-uri/uri.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/file-uri/uri.c	2011-04-02 14:15:57.873189669 +0200
@@ -40,6 +40,7 @@
 #define LOAD_PROC      "file-uri-load"
 #define SAVE_PROC      "file-uri-save"
 #define PLUG_IN_BINARY "file-uri"
+#define PLUG_IN_ROLE   "gimp-file-uri"
 
 
 static void                query         (void);
diff -aur plug-ins-orig/file-xjt/xjt.c plug-ins/file-xjt/xjt.c
--- plug-ins-orig/file-xjt/xjt.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/file-xjt/xjt.c	2011-04-02 14:15:57.889856334 +0200
@@ -84,6 +84,7 @@
 #define LOAD_PROC      "file-xjt-load"
 #define SAVE_PROC      "file-xjt-save"
 #define PLUG_IN_BINARY "flie-xjt"
+#define PLUG_IN_ROLE   "gimp-flie-xjt"
 
 #ifdef _MSC_VER
 typedef int pid_t;
diff -aur plug-ins-orig/flame/flame.c plug-ins/flame/flame.c
--- plug-ins-orig/flame/flame.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/flame/flame.c	2011-04-02 14:24:43.703189668 +0200
@@ -36,6 +36,7 @@
 
 #define PLUG_IN_PROC      "plug-in-flame"
 #define PLUG_IN_BINARY    "flame"
+#define PLUG_IN_ROLE      "gimp-flame"
 
 #define VARIATION_SAME    (-2)
 
@@ -640,7 +641,7 @@
       GtkObject *adj;
       gint       i, j;
 
-      edit_dialog = gimp_dialog_new (_("Edit Flame"), PLUG_IN_BINARY,
+      edit_dialog = gimp_dialog_new (_("Edit Flame"), PLUG_IN_ROLE,
                                      parent, GTK_DIALOG_DESTROY_WITH_PARENT,
                                      gimp_standard_help_func, PLUG_IN_PROC,
 
@@ -962,7 +963,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("Flame"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Flame"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/fractal-explorer/fractal-explorer-dialogs.c plug-ins/fractal-explorer/fractal-explorer-dialogs.c
--- plug-ins-orig/fractal-explorer/fractal-explorer-dialogs.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/fractal-explorer/fractal-explorer-dialogs.c	2011-04-02 14:24:47.576523001 +0200
@@ -559,7 +559,7 @@
   elements    = g_new (DialogElements, 1);
 
   dialog = maindlg =
-    gimp_dialog_new ("Fractal Explorer", PLUG_IN_BINARY,
+    gimp_dialog_new ("Fractal Explorer", PLUG_IN_ROLE,
                      NULL, 0,
                      gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/fractal-explorer/fractal-explorer.c plug-ins/fractal-explorer/fractal-explorer.c
--- plug-ins-orig/fractal-explorer/fractal-explorer.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/fractal-explorer/fractal-explorer.c	2011-04-02 14:24:51.313189668 +0200
@@ -1110,7 +1110,7 @@
       return;
     }
 
-  dlg = gimp_dialog_new (_("Rescan for Fractals"), PLUG_IN_BINARY,
+  dlg = gimp_dialog_new (_("Rescan for Fractals"), PLUG_IN_ROLE,
                          gtk_widget_get_toplevel (view),
                          GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
                          gimp_standard_help_func, PLUG_IN_PROC,
diff -aur plug-ins-orig/fractal-explorer/fractal-explorer.h plug-ins/fractal-explorer/fractal-explorer.h
--- plug-ins-orig/fractal-explorer/fractal-explorer.h	2009-08-11 07:05:15.000000000 +0200
+++ plug-ins/fractal-explorer/fractal-explorer.h	2011-04-02 14:16:00.176523000 +0200
@@ -17,6 +17,7 @@
 
 #define PLUG_IN_PROC   "plug-in-fractalexplorer"
 #define PLUG_IN_BINARY "fractal-explorer"
+#define PLUG_IN_ROLE   "gimp-fractal-explorer"
 
 #define FRACTAL_HEADER "Fractal Explorer Plug-In Version 2 - (c) 1997 <cotting@mygale.org>\n"
 #define fractalexplorer_HEADER "Fractal Explorer Plug-In Version 2 - (c) 1997 <cotting@mygale.org>\n"
diff -aur plug-ins-orig/gfig/gfig-dialog.c plug-ins/gfig/gfig-dialog.c
--- plug-ins-orig/gfig/gfig-dialog.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/gfig/gfig-dialog.c	2011-04-02 14:25:05.559856334 +0200
@@ -282,7 +282,7 @@
     }
 
   /* Start building the dialog up */
-  top_level_dlg = gimp_dialog_new (_("Gfig"), PLUG_IN_BINARY,
+  top_level_dlg = gimp_dialog_new (_("Gfig"), PLUG_IN_ROLE,
                                    NULL, 0,
                                    gimp_standard_help_func, PLUG_IN_PROC,
 
@@ -1203,7 +1203,7 @@
       GtkWidget *scale;
       GtkObject *scale_data;
 
-      dialog = gimp_dialog_new (_("Options"), "gfig-options",
+      dialog = gimp_dialog_new (_("Options"), "gimp-gfig-options",
                                 GTK_WIDGET (data), 0, NULL, NULL,
 
                                 GTK_STOCK_CLOSE,  GTK_RESPONSE_CLOSE,
@@ -1352,7 +1352,7 @@
       GtkObject *sectors_data;
       GtkObject *radius_data;
 
-      dialog = gimp_dialog_new (_("Grid"), "gfig-grid",
+      dialog = gimp_dialog_new (_("Grid"), "gimp-gfig-grid",
                                 GTK_WIDGET (data), 0, NULL, NULL,
 
                                 GTK_STOCK_CLOSE,  GTK_RESPONSE_CLOSE,
diff -aur plug-ins-orig/gfig/gfig.h plug-ins/gfig/gfig.h
--- plug-ins-orig/gfig/gfig.h	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/gfig/gfig.h	2011-04-02 14:16:00.179856334 +0200
@@ -68,6 +68,7 @@
 
 #define PLUG_IN_PROC   "plug-in-gfig"
 #define PLUG_IN_BINARY "gfig"
+#define PLUG_IN_ROLE   "gimp-gfig"
 
 extern gint       line_no;
 extern gint       preview_width, preview_height;
diff -aur plug-ins-orig/gimpressionist/gimpressionist.c plug-ins/gimpressionist/gimpressionist.c
--- plug-ins-orig/gimpressionist/gimpressionist.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/gimpressionist/gimpressionist.c	2011-04-02 14:25:10.726523002 +0200
@@ -135,7 +135,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("GIMPressionist"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("GIMPressionist"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/gimpressionist/gimpressionist.h plug-ins/gimpressionist/gimpressionist.h
--- plug-ins-orig/gimpressionist/gimpressionist.h	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/gimpressionist/gimpressionist.h	2011-04-02 14:16:00.183189668 +0200
@@ -28,6 +28,7 @@
 #define PLUG_IN_PROC    "plug-in-gimpressionist"
 #define PLUG_IN_VERSION "v1.0, November 2003"
 #define PLUG_IN_BINARY  "gimpressionist"
+#define PLUG_IN_ROLE    "gimp-gimpressionist"
 
 #define PREVIEWSIZE     150
 #define MAXORIENTVECT   50
diff -aur plug-ins-orig/gimpressionist/orientmap.c plug-ins/gimpressionist/orientmap.c
--- plug-ins-orig/gimpressionist/orientmap.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/gimpressionist/orientmap.c	2011-04-02 14:25:15.446523001 +0200
@@ -522,7 +522,7 @@
     }
 
   orient_map_window =
-    gimp_dialog_new (_("Orientation Map Editor"), PLUG_IN_BINARY,
+    gimp_dialog_new (_("Orientation Map Editor"), PLUG_IN_ROLE,
                      gtk_widget_get_toplevel (parent), 0,
                      gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/gimpressionist/presets.c plug-ins/gimpressionist/presets.c
--- plug-ins-orig/gimpressionist/presets.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/gimpressionist/presets.c	2011-04-02 14:25:20.776523002 +0200
@@ -636,7 +636,7 @@
     }
 
   window =
-    gimp_dialog_new (_("Save Current"), PLUG_IN_BINARY,
+    gimp_dialog_new (_("Save Current"), PLUG_IN_ROLE,
                      gtk_widget_get_toplevel (parent), 0,
                      gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/gimpressionist/sizemap.c plug-ins/gimpressionist/sizemap.c
--- plug-ins-orig/gimpressionist/sizemap.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/gimpressionist/sizemap.c	2011-04-02 14:25:25.343189668 +0200
@@ -397,7 +397,7 @@
     }
 
   smwindow =
-    gimp_dialog_new (_("Size Map Editor"), PLUG_IN_BINARY,
+    gimp_dialog_new (_("Size Map Editor"), PLUG_IN_ROLE,
                      gtk_widget_get_toplevel (parent), 0,
                      gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/gradient-flare/gradient-flare.c plug-ins/gradient-flare/gradient-flare.c
--- plug-ins-orig/gradient-flare/gradient-flare.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/gradient-flare/gradient-flare.c	2011-04-02 14:25:33.543189667 +0200
@@ -63,6 +63,7 @@
 
 #define PLUG_IN_PROC        "plug-in-gflare"
 #define PLUG_IN_BINARY      "gradient-flare"
+#define PLUG_IN_ROLE        "gimp-gradient-flare"
 
 #define GRADIENT_NAME_MAX   256
 #define GRADIENT_RESOLUTION 360
@@ -2353,7 +2354,7 @@
    *    Dialog Shell
    */
 
-  shell = dlg->shell = gimp_dialog_new (_("Gradient Flare"), PLUG_IN_BINARY,
+  shell = dlg->shell = gimp_dialog_new (_("Gradient Flare"), PLUG_IN_ROLE,
                                         NULL, 0,
                                         gimp_standard_help_func, PLUG_IN_PROC,
 
@@ -3313,7 +3314,7 @@
    *    Dialog Shell
    */
   ed->shell =
-    shell = gimp_dialog_new (_("Gradient Flare Editor"), PLUG_IN_BINARY,
+    shell = gimp_dialog_new (_("Gradient Flare Editor"), PLUG_IN_ROLE,
                              GTK_WIDGET (parent), 0,
                              gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/help-browser/help-browser.c plug-ins/help-browser/help-browser.c
--- plug-ins-orig/help-browser/help-browser.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/help-browser/help-browser.c	2011-04-02 14:15:58.016523000 +0200
@@ -42,6 +42,7 @@
 #define GIMP_HELP_BROWSER_EXT_PROC       "extension-gimp-help-browser"
 #define GIMP_HELP_BROWSER_TEMP_EXT_PROC  "extension-gimp-help-browser-temp"
 #define PLUG_IN_BINARY                   "help-browser"
+#define PLUG_IN_ROLE                     "gimp-help-browser"
 
 
 /*  forward declarations  */
diff -aur plug-ins-orig/ifs-compose/ifs-compose.c plug-ins/ifs-compose/ifs-compose.c
--- plug-ins-orig/ifs-compose/ifs-compose.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/ifs-compose/ifs-compose.c	2011-04-02 14:25:42.376523002 +0200
@@ -55,6 +55,7 @@
 #define PLUG_IN_PARASITE "ifscompose-parasite"
 #define PLUG_IN_PROC     "plug-in-ifscompose"
 #define PLUG_IN_BINARY   "ifs-compose"
+#define PLUG_IN_ROLE     "gimp-ifs-compose"
 
 typedef enum
 {
@@ -766,7 +767,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, TRUE);
 
-  dialog = gimp_dialog_new (_("IFS Fractal"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("IFS Fractal"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
@@ -1173,7 +1174,7 @@
       ifsOptD = g_new0 (IfsOptionsDialog, 1);
 
       ifsOptD->dialog =
-        gimp_dialog_new (_("IFS Fractal Render Options"), PLUG_IN_BINARY,
+        gimp_dialog_new (_("IFS Fractal Render Options"), PLUG_IN_ROLE,
                          parent, 0,
                          gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/imagemap/imap_default_dialog.c plug-ins/imagemap/imap_default_dialog.c
--- plug-ins-orig/imagemap/imap_default_dialog.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/imagemap/imap_default_dialog.c	2011-04-02 14:25:50.446523002 +0200
@@ -92,7 +92,7 @@
    data->apply_cb = NULL;
    data->cancel_cb = NULL;
 
-   data->dialog = gimp_dialog_new (title, PLUG_IN_BINARY,
+   data->dialog = gimp_dialog_new (title, PLUG_IN_ROLE,
                                    get_dialog(), 0,
                                    gimp_standard_help_func, PLUG_IN_PROC,
                                    NULL);
diff -aur plug-ins-orig/imagemap/imap_main.h plug-ins/imagemap/imap_main.h
--- plug-ins-orig/imagemap/imap_main.h	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/imagemap/imap_main.h	2011-04-02 14:16:00.193189669 +0200
@@ -29,6 +29,7 @@
 
 #define PLUG_IN_PROC   "plug-in-imagemap"
 #define PLUG_IN_BINARY "imagemap"
+#define PLUG_IN_ROLE   "gimp-imagemap"
 
 typedef enum {NCSA, CERN, CSIM} MapFormat_t;
 
diff -aur plug-ins-orig/lighting/lighting-main.h plug-ins/lighting/lighting-main.h
--- plug-ins-orig/lighting/lighting-main.h	2009-08-11 07:05:15.000000000 +0200
+++ plug-ins/lighting/lighting-main.h	2011-04-02 14:16:00.199856335 +0200
@@ -6,6 +6,7 @@
 
 #define PLUG_IN_PROC   "plug-in-lighting"
 #define PLUG_IN_BINARY "lighting"
+#define PLUG_IN_ROLE   "gimp-lighting"
 
 #define TILE_CACHE_SIZE 16
 #define NUM_LIGHTS      6
diff -aur plug-ins-orig/lighting/lighting-ui.c plug-ins/lighting/lighting-ui.c
--- plug-ins-orig/lighting/lighting-ui.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/lighting/lighting-ui.c	2011-04-02 14:25:57.086523001 +0200
@@ -1015,7 +1015,7 @@
 
   lighting_stock_init ();
 
-  appwin = gimp_dialog_new (_("Lighting Effects"), PLUG_IN_BINARY,
+  appwin = gimp_dialog_new (_("Lighting Effects"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/map-object/map-object-main.h plug-ins/map-object/map-object-main.h
--- plug-ins-orig/map-object/map-object-main.h	2009-08-11 07:05:15.000000000 +0200
+++ plug-ins/map-object/map-object-main.h	2011-04-02 14:16:00.199856335 +0200
@@ -6,6 +6,7 @@
 
 #define PLUG_IN_PROC   "plug-in-map-object"
 #define PLUG_IN_BINARY "map-object"
+#define PLUG_IN_ROLE   "gimp-map-object"
 
 #define TILE_CACHE_SIZE 16
 
diff -aur plug-ins-orig/map-object/map-object-ui.c plug-ins/map-object/map-object-ui.c
--- plug-ins-orig/map-object/map-object-ui.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/map-object/map-object-ui.c	2011-04-02 14:26:01.133189668 +0200
@@ -1332,7 +1332,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  appwin = gimp_dialog_new (_("Map to Object"), PLUG_IN_BINARY,
+  appwin = gimp_dialog_new (_("Map to Object"), PLUG_IN_ROLE,
                             NULL, 0,
 			    gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/maze/maze-dialog.c plug-ins/maze/maze-dialog.c
--- plug-ins-orig/maze/maze-dialog.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/maze/maze-dialog.c	2011-04-02 14:26:05.126523001 +0200
@@ -168,7 +168,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Maze"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Maze"), PLUG_IN_ROLE,
                             NULL, 0,
                             gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/maze/maze.h plug-ins/maze/maze.h
--- plug-ins-orig/maze/maze.h	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/maze/maze.h	2011-04-02 14:16:00.203189668 +0200
@@ -33,6 +33,7 @@
 
 #define PLUG_IN_PROC   "plug-in-maze"
 #define PLUG_IN_BINARY "maze"
+#define PLUG_IN_ROLE   "gimp-maze"
 
 typedef enum {
      DEPTH_FIRST,
diff -aur plug-ins-orig/metadata/interface.c plug-ins/metadata/interface.c
--- plug-ins-orig/metadata/interface.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/metadata/interface.c	2011-04-02 14:26:09.119856334 +0200
@@ -652,7 +652,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  mgui.dlg = gimp_dialog_new (_("Image Properties"), PLUG_IN_BINARY,
+  mgui.dlg = gimp_dialog_new (_("Image Properties"), PLUG_IN_ROLE,
                               NULL, 0,
                               gimp_standard_help_func, EDITOR_PROC,
 
diff -aur plug-ins-orig/metadata/metadata.h plug-ins/metadata/metadata.h
--- plug-ins-orig/metadata/metadata.h	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/metadata/metadata.h	2011-04-02 14:16:00.203189668 +0200
@@ -33,6 +33,7 @@
 #define IMPORT_PROC         "plug-in-metadata-import"
 #define EXPORT_PROC         "plug-in-metadata-export"
 #define PLUG_IN_BINARY      "metadata"
+#define PLUG_IN_ROLE        "gimp-metadata"
 
 
 #endif /* __METADATA_H__ */
diff -aur plug-ins-orig/pagecurl/pagecurl.c plug-ins/pagecurl/pagecurl.c
--- plug-ins-orig/pagecurl/pagecurl.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/pagecurl/pagecurl.c	2011-04-02 14:26:13.279856335 +0200
@@ -52,6 +52,7 @@
 
 #define PLUG_IN_PROC    "plug-in-pagecurl"
 #define PLUG_IN_BINARY  "pagecurl"
+#define PLUG_IN_ROLE    "gimp-pagecurl"
 #define PLUG_IN_VERSION "July 2004, 1.0"
 #define NGRADSAMPLES    256
 
@@ -436,7 +437,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  dialog = gimp_dialog_new (_("Pagecurl Effect"), PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (_("Pagecurl Effect"), PLUG_IN_ROLE,
                             NULL, 0,
 			    gimp_standard_help_func, PLUG_IN_PROC,
 
diff -aur plug-ins-orig/print/print.c plug-ins/print/print.c
--- plug-ins-orig/print/print.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/print/print.c	2011-04-02 14:15:58.199856335 +0200
@@ -32,6 +32,7 @@
 
 
 #define PLUG_IN_BINARY        "print"
+#define PLUG_IN_ROLE          "gimp-print"
 
 #define PRINT_PROC_NAME       "file-print-gtk"
 #define PAGE_SETUP_PROC_NAME  "file-print-gtk-page-setup"
diff -aur plug-ins-orig/script-fu/script-fu-console.c plug-ins/script-fu/script-fu-console.c
--- plug-ins-orig/script-fu/script-fu-console.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/script-fu/script-fu-console.c	2011-04-02 14:26:25.589856334 +0200
@@ -128,7 +128,7 @@
   console.history_max = 50;
 
   console.dialog = gimp_dialog_new (_("Script-Fu Console"),
-                                    "script-fu-console",
+                                    "gimp-script-fu-console",
                                     NULL, 0,
                                     gimp_standard_help_func, PROC_NAME,
 
diff -aur plug-ins-orig/script-fu/script-fu-interface.c plug-ins/script-fu/script-fu-interface.c
--- plug-ins-orig/script-fu/script-fu-interface.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/script-fu/script-fu-interface.c	2011-04-02 14:26:30.996523000 +0200
@@ -223,7 +223,7 @@
   title = g_strdup_printf (_("Script-Fu: %s"), sf_interface->title);
 
   sf_interface->dialog = dialog =
-    gimp_dialog_new (title, "script-fu",
+    gimp_dialog_new (title, "gimp-script-fu",
                      NULL, 0,
                      gimp_standard_help_func, script->name,
 
diff -aur plug-ins-orig/script-fu/script-fu-server.c plug-ins/script-fu/script-fu-server.c
--- plug-ins-orig/script-fu/script-fu-server.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/script-fu/script-fu-server.c	2011-04-02 14:26:38.823189667 +0200
@@ -709,7 +709,7 @@
 
   gimp_ui_init ("script-fu", FALSE);
 
-  dlg = gimp_dialog_new (_("Script-Fu Server Options"), "script-fu",
+  dlg = gimp_dialog_new (_("Script-Fu Server Options"), "gimp-script-fu",
                          NULL, 0,
                          gimp_standard_help_func, "plug-in-script-fu-server",
 
diff -aur plug-ins-orig/selection-to-path/selection-to-path.c plug-ins/selection-to-path/selection-to-path.c
--- plug-ins-orig/selection-to-path/selection-to-path.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/selection-to-path/selection-to-path.c	2011-04-02 14:26:43.789856335 +0200
@@ -46,6 +46,7 @@
 
 
 #define PLUG_IN_BINARY "selection-to-path"
+#define PLUG_IN_ROLE   "gimp-selection-to-path"
 
 #define RESPONSE_RESET 1
 #define MID_POINT      127
@@ -299,7 +300,7 @@
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
   dlg = gimp_dialog_new (_("Selection to Path Advanced Settings"),
-                         PLUG_IN_BINARY,
+                         PLUG_IN_ROLE,
                          NULL, 0,
                          gimp_standard_help_func, "plug-in-sel2path-advanced",
 
diff -aur plug-ins-orig/win-snap/winsnap.c plug-ins/win-snap/winsnap.c
--- plug-ins-orig/win-snap/winsnap.c	2009-08-14 21:21:10.000000000 +0200
+++ plug-ins/win-snap/winsnap.c	2011-04-02 14:26:48.903189667 +0200
@@ -61,6 +61,7 @@
 #define PLUG_IN_COPYRIGHT   "Craig Setera"
 #define PLUG_IN_VERSION     "v0.70 (07/16/1999)"
 #define PLUG_IN_BINARY      "win-snap"
+#define PLUG_IN_ROLE        "gimp-win-snap"
 
 /*
  * Application definitions
@@ -856,7 +857,7 @@
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
   /* Main Dialog */
-  dialog = gimp_dialog_new (PLUG_IN_PRINT_NAME, PLUG_IN_BINARY,
+  dialog = gimp_dialog_new (PLUG_IN_PRINT_NAME, PLUG_IN_ROLE,
                             NULL, 0,
 			    gimp_standard_help_func, PLUG_IN_PROC,
 
