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__ */