Dear maintainer,

Attached is a patch to make gimp-lqr-plugin and wavelet-denoise-0.3.1 link
properly with gcc-10.

suggested changelog entry

lqr/gimp-lqr-plugin/src/interface_aux.c,
lqr/gimp-lqr-plugin/src/interface_I.c: declare variables as extern that
would otherwise clash with those in lqr/gimp-lqr-plugin/src/interface.c

wavelet-denoise/wavelet-denoise-0.3.1/src/interface.h,
wavelet-denoise/wavelet-denoise-0.3.1/src/plugin.h: declare global
variables as extern
wavelet-denoise/wavelet-denoise-0.3.1/src/interface.c,
wavelet-denoise/wavelet-denoise-0.3.1/src/plugin.c: add some global
variables now declared extern in the corresponding header files

Kind regards,
Arnold Metselaar
diff --git a/lqr/gimp-lqr-plugin/src/interface_I.c b/lqr/gimp-lqr-plugin/src/interface_I.c
index 2719167..dbe2717 100644
--- a/lqr/gimp-lqr-plugin/src/interface_I.c
+++ b/lqr/gimp-lqr-plugin/src/interface_I.c
@@ -73,10 +73,10 @@ static void callback_alarm_triggered (GtkWidget * size_entry, gpointer data);
 
 gint dialog_I_response = GTK_RESPONSE_OK;
 
-PlugInUIVals *ui_state;
-PlugInVals *state;
-PlugInDialogVals *dialog_state;
-gboolean features_are_sensitive;
+extern PlugInUIVals *ui_state;
+extern PlugInVals *state;
+extern PlugInDialogVals *dialog_state;
+extern gboolean features_are_sensitive;
 InterfaceIData interface_I_data;
 //volatile sig_atomic_t interface_locked = 0;
 
diff --git a/lqr/gimp-lqr-plugin/src/interface_aux.c b/lqr/gimp-lqr-plugin/src/interface_aux.c
index 6461757..ceed0d9 100644
--- a/lqr/gimp-lqr-plugin/src/interface_aux.c
+++ b/lqr/gimp-lqr-plugin/src/interface_aux.c
@@ -49,11 +49,11 @@ static void callback_dialog_aux_response (GtkWidget * dialog, gint response_id,
 
 gint dialog_aux_response = GTK_RESPONSE_OK;
 
-PlugInUIVals *ui_state;
-PlugInVals *state;
-PlugInDialogVals *dialog_state;
+extern PlugInUIVals *ui_state;
+extern PlugInVals *state;
+extern PlugInDialogVals *dialog_state;
 
-GtkWidget *dlg;
+extern GtkWidget *dlg;
 
 /***  Public functions  ***/
 
diff --git a/wavelet-denoise/wavelet-denoise-0.3.1/src/interface.c b/wavelet-denoise/wavelet-denoise-0.3.1/src/interface.c
index 170894b..2f95572 100644
--- a/wavelet-denoise/wavelet-denoise-0.3.1/src/interface.c
+++ b/wavelet-denoise/wavelet-denoise-0.3.1/src/interface.c
@@ -16,8 +16,36 @@
 #include "plugin.h"
 #include "interface.h"
 
+/* Global variables declared in interface.h */
+/* colour mode frame */
+GtkWidget *fr_mode, *mode_radio[3], *mode_vbox;
+GSList *mode_list;
+
+/* preview select frame */
+GtkWidget *fr_preview, *preview_radio[3], *preview_vbox, *preview_check;
+GSList *preview_list;
+
+/* channel select frame */
+GtkWidget *fr_channel, *channel_radio[4], *channel_vbox;
+GSList *channel_list;
+
+/* threshold frame */
+GtkWidget *fr_threshold, *thr_label[2], *thr_spin[2];
+GtkWidget *thr_hbox[2], *thr_vbox, *thr_scale[2];
+GtkObject *thr_adj[2];
+
+/* reset buttons */
+GtkWidget *reset_button[2], *reset_hbox, *reset_align, *reset_button_icon[2];
+
+/* dialog */
+GtkWidget *dialog, *dialog_hbox, *dialog_vbox, *frame_hbox, *dialog_aspect;
+GtkWidget *preview, *preview_reset, *preview_hbox, *preview_reset_icon;
+
 GtkWidget **radios_labels[] = { channel_radio, thr_label };
 
+char **names;
+
+
 gboolean
 user_interface (GimpDrawable * drawable)
 {
diff --git a/wavelet-denoise/wavelet-denoise-0.3.1/src/interface.h b/wavelet-denoise/wavelet-denoise-0.3.1/src/interface.h
index f0ce8ad..0f5430e 100644
--- a/wavelet-denoise/wavelet-denoise-0.3.1/src/interface.h
+++ b/wavelet-denoise/wavelet-denoise-0.3.1/src/interface.h
@@ -14,29 +14,29 @@
  */
 
 /* colour mode frame */
-GtkWidget *fr_mode, *mode_radio[3], *mode_vbox;
-GSList *mode_list;
+extern GtkWidget *fr_mode, *mode_radio[3], *mode_vbox;
+extern GSList *mode_list;
 
 /* preview select frame */
-GtkWidget *fr_preview, *preview_radio[3], *preview_vbox, *preview_check;
-GSList *preview_list;
+extern GtkWidget *fr_preview, *preview_radio[3], *preview_vbox, *preview_check;
+extern GSList *preview_list;
 
 /* channel select frame */
-GtkWidget *fr_channel, *channel_radio[4], *channel_vbox;
-GSList *channel_list;
+extern GtkWidget *fr_channel, *channel_radio[4], *channel_vbox;
+extern GSList *channel_list;
 
 /* threshold frame */
-GtkWidget *fr_threshold, *thr_label[2], *thr_spin[2];
-GtkWidget *thr_hbox[2], *thr_vbox, *thr_scale[2];
-GtkObject *thr_adj[2];
+extern GtkWidget *fr_threshold, *thr_label[2], *thr_spin[2];
+extern GtkWidget *thr_hbox[2], *thr_vbox, *thr_scale[2];
+extern GtkObject *thr_adj[2];
 
 /* reset buttons */
-GtkWidget *reset_button[2], *reset_hbox, *reset_align, *reset_button_icon[2];
+extern GtkWidget *reset_button[2], *reset_hbox, *reset_align, *reset_button_icon[2];
 
 /* dialog */
-GtkWidget *dialog, *dialog_hbox, *dialog_vbox, *frame_hbox, *dialog_aspect;
-GtkWidget *preview, *preview_reset, *preview_hbox, *preview_reset_icon;
+extern GtkWidget *dialog, *dialog_hbox, *dialog_vbox, *frame_hbox, *dialog_aspect;
+extern GtkWidget *preview, *preview_reset, *preview_hbox, *preview_reset_icon;
 
 extern GtkWidget **radios_labels[];
 
-char **names;
+extern char **names;
diff --git a/wavelet-denoise/wavelet-denoise-0.3.1/src/plugin.c b/wavelet-denoise/wavelet-denoise-0.3.1/src/plugin.c
index 4338867..35e2b46 100644
--- a/wavelet-denoise/wavelet-denoise-0.3.1/src/plugin.c
+++ b/wavelet-denoise/wavelet-denoise-0.3.1/src/plugin.c
@@ -16,6 +16,12 @@
 #include "plugin.h"
 
 GimpPlugInInfo PLUG_IN_INFO = { NULL, NULL, query, run };
+/* Global variables declared in plugin.h */
+float *fimg[4];
+float *buffer[3];
+gint channels;
+
+GTimer *timer;
 
 wavelet_settings settings = {
   {0, 0},			/* gray_thresholds */
diff --git a/wavelet-denoise/wavelet-denoise-0.3.1/src/plugin.h b/wavelet-denoise/wavelet-denoise-0.3.1/src/plugin.h
index f5c0350..878c558 100644
--- a/wavelet-denoise/wavelet-denoise-0.3.1/src/plugin.h
+++ b/wavelet-denoise/wavelet-denoise-0.3.1/src/plugin.h
@@ -93,10 +93,10 @@ extern char *names_rgb[];
 extern char *names_gray[];
 extern char *names_lab[];
 
-float *fimg[4];
-float *buffer[3];
-gint channels;
+extern float *fimg[4];
+extern float *buffer[3];
+extern gint channels;
 
-GTimer *timer;
+extern GTimer *timer;
 
 #endif /* __PLUGIN_H__ */

Reply via email to