Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/common/camera_control.c
Original file line number Diff line number Diff line change
Expand Up @@ -1677,7 +1677,7 @@ static void _camera_build_property_menu(CameraWidget *widget,
/* construct menu item for property */
gp_widget_get_name(child, &sk);
GtkMenuItem *item = GTK_MENU_ITEM(gtk_menu_item_new_with_label(sk));
g_signal_connect(G_OBJECT(item), "activate", item_activate, user_data);
g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(item_activate), user_data);
/* add submenu item to menu */
gtk_menu_shell_append(GTK_MENU_SHELL(menu), GTK_WIDGET(item));
}
Expand Down
3 changes: 2 additions & 1 deletion src/control/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ static void _image_geotag_destroy_callback(gpointer instance, gpointer imgs, con
}
}

#define G_CALLBACK(f) ((GCallback) (f))
static dt_signal_description _signal_description[DT_SIGNAL_COUNT] = {
/* Global signals */
[DT_SIGNAL_MOUSE_OVER_IMAGE_CHANGE] = { "dt-global-mouse-over-image-change",
Expand Down Expand Up @@ -394,7 +395,7 @@ void dt_control_signal_connect(const dt_control_signal_t *ctlsig, dt_signal_t si
{
_print_trace(signal, DT_DEBUG_SIGNAL_ACT_CONNECT, "connect");

g_signal_connect(G_OBJECT(ctlsig->sink), _signal_description[signal].name, G_CALLBACK(cb), user_data);
g_signal_connect_data(G_OBJECT(ctlsig->sink), _signal_description[signal].name, G_CALLBACK(cb), user_data, NULL, 0);
}

void dt_control_signal_disconnect(const struct dt_control_signal_t *ctlsig, GCallback cb, gpointer user_data)
Expand Down
7 changes: 1 addition & 6 deletions src/develop/blend_gui.c
Original file line number Diff line number Diff line change
Expand Up @@ -2007,13 +2007,8 @@ static void _blendif_hide_output_channels(GtkMenuItem *menuitem,
}

static void _blendif_options_callback(GtkButton *button,
GdkEventButton *event,
dt_iop_module_t *module)
{
if(event->button != 1
&& event->button != 2)
return;

const dt_iop_gui_blend_data_t *bd = module->blend_data;

if(!bd
Expand Down Expand Up @@ -3476,7 +3471,7 @@ void dt_iop_gui_init_blending(GtkWidget *iopw,
gtk_widget_set_tooltip_text(presets_button, _("blending options"));
if(bd->blendif_support)
{
g_signal_connect(G_OBJECT(presets_button), "button-press-event",
g_signal_connect(G_OBJECT(presets_button), "clicked",
G_CALLBACK(_blendif_options_callback), module);
}
else
Expand Down
9 changes: 3 additions & 6 deletions src/develop/imageop.c
Original file line number Diff line number Diff line change
Expand Up @@ -875,9 +875,8 @@ static gboolean _rename_module_key_press(GtkWidget *entry,
return FALSE; /* event not handled */
}

static gboolean _rename_module_resize(GtkWidget *entry,
GdkEventKey *event,
dt_iop_module_t *module)
static void _rename_module_resize(GtkWidget *entry,
gpointer user)
{
int width = 0;
GtkBorder padding;
Expand All @@ -887,8 +886,6 @@ static gboolean _rename_module_resize(GtkWidget *entry,
gtk_widget_get_state_flags (entry),
&padding);
gtk_widget_set_size_request(entry, width + padding.left + padding.right + 1, -1);

return TRUE;
}

void dt_iop_gui_rename_module(dt_iop_module_t *module)
Expand Down Expand Up @@ -3011,7 +3008,7 @@ GtkWidget *dt_iop_gui_header_button(dt_iop_module_t *module,
g_signal_connect(button, "enter-notify-event",
G_CALLBACK(_header_enter_notify_callback),
GINT_TO_POINTER(element));
g_signal_connect(button, "button-press-event", G_CALLBACK(callback), module);
g_signal_connect_data(button, "button-press-event", G_CALLBACK(callback), module, NULL, 0);
dt_action_define(&module->so->actions, NULL, NULL, button, NULL);
gtk_widget_show(button);

Expand Down
4 changes: 2 additions & 2 deletions src/develop/imageop_gui.c
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ GtkWidget *dt_iop_togglebutton_new(dt_iop_module_t *self, const char *section, c
DTGTKCairoPaintIconFunc paint, GtkWidget *box)
{
GtkWidget *w = dtgtk_togglebutton_new(paint, 0, NULL);
g_signal_connect(G_OBJECT(w), "button-press-event", callback, self);
g_signal_connect_data(G_OBJECT(w), "button-press-event", callback, self, NULL, 0);

if(!ctrl_label)
gtk_widget_set_tooltip_text(w, _(label));
Expand Down Expand Up @@ -304,7 +304,7 @@ GtkWidget *dt_iop_button_new(dt_iop_module_t *self, const gchar *label,
gtk_label_set_ellipsize(GTK_LABEL(gtk_bin_get_child(GTK_BIN(button))), PANGO_ELLIPSIZE_END);
}

g_signal_connect(G_OBJECT(button), "clicked", callback, (gpointer)self);
g_signal_connect_data(G_OBJECT(button), "clicked", callback, (gpointer)self, NULL, 0);

dt_action_t *ac = dt_action_define_iop(self, NULL, label, button, &dt_action_def_button);
dt_shortcut_register(ac, 0, 0, accel_key, mods);
Expand Down
26 changes: 12 additions & 14 deletions src/gui/gtk.c
Original file line number Diff line number Diff line change
Expand Up @@ -752,10 +752,10 @@ static gboolean _borders_scrolled(GtkWidget *widget,
return TRUE;
}

static gboolean _scrollbar_changed(GtkWidget *widget,
gpointer user_data)
static void _scrollbar_changed(GtkWidget *widget,
gpointer user_data)
{
if(darktable.gui->reset) return FALSE;
if(darktable.gui->reset) return;

GtkAdjustment *adjustment_x =
gtk_range_get_adjustment(GTK_RANGE(darktable.gui->scrollbars.hscrollbar));
Expand All @@ -766,8 +766,6 @@ static gboolean _scrollbar_changed(GtkWidget *widget,
const gdouble value_y = gtk_adjustment_get_value(adjustment_y);

dt_view_manager_scrollbar_changed(darktable.view_manager, value_x, value_y);

return TRUE;
}

gboolean _valid_window_placement(const gint saved_x,
Expand Down Expand Up @@ -1378,10 +1376,10 @@ int dt_gui_gtk_init(dt_gui_gtk_t *gui)
gtkosx_application_set_window_menu(OSXApp, GTK_MENU_ITEM(window_root_menu));
gtkosx_application_set_help_menu(OSXApp, GTK_MENU_ITEM(help_root_menu));

g_signal_connect(G_OBJECT(OSXApp), "NSApplicationBlockTermination",
G_CALLBACK(_osx_quit_callback), NULL);
g_signal_connect(G_OBJECT(OSXApp), "NSApplicationOpenFile",
G_CALLBACK(_osx_openfile_callback), NULL);
g_signal_connect_data(G_OBJECT(OSXApp), "NSApplicationBlockTermination",
G_CALLBACK(_osx_quit_callback), NULL, NULL, 0);
g_signal_connect_data(G_OBJECT(OSXApp), "NSApplicationOpenFile",
G_CALLBACK(_osx_openfile_callback), NULL, NULL, 0);
#endif

#ifdef _WIN32
Expand Down Expand Up @@ -4465,10 +4463,10 @@ GtkGestureSingle *(dt_gui_connect_click)(GtkWidget *widget,
// GTK4 GtkGesture *gesture = gtk_gesture_click_new();
// gtk_widget_add_controller(widget, GTK_EVENT_CONTROLLER(gesture));

if(pressed) g_signal_connect(gesture, "pressed", pressed, data);
if(pressed) g_signal_connect(gesture, "pressed", G_CALLBACK(pressed), data);
if(released)
{
g_signal_connect(gesture, "released", released, data);
g_signal_connect(gesture, "released", G_CALLBACK(released), data);
g_signal_connect(gesture, "cancel", G_CALLBACK(_gesture_cancel), NULL);
}

Expand All @@ -4488,9 +4486,9 @@ GtkEventController *(dt_gui_connect_motion)(GtkWidget *widget,

gtk_widget_add_events(widget, GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK); // still needed for now by _main_do_event_keymap

if(motion) g_signal_connect(controller, "motion", motion, data);
if(enter) g_signal_connect(controller, "enter", enter, data);
if(leave) g_signal_connect(controller, "leave", leave, data);
if(motion) g_signal_connect(controller, "motion", G_CALLBACK(motion), data);
if(enter) g_signal_connect(controller, "enter", G_CALLBACK(enter), data);
if(leave) g_signal_connect(controller, "leave", G_CALLBACK(leave), data);

return controller;
}
Expand Down
22 changes: 22 additions & 0 deletions src/gui/gtk.h
Original file line number Diff line number Diff line change
Expand Up @@ -638,6 +638,28 @@ void dt_gui_dialog_restore_size(GtkDialog *dialog, const char *conf);
// returns the session type at runtime
dt_gui_session_type_t dt_gui_get_session_type(void);

#if !defined(__cplusplus)
#undef G_CALLBACK
static inline GCallback G_CALLBACK(void *f) { return (GCallback)f; } // as a macro it gets expanded before reaching here
#define DISABLINGPREFIXG_CALLBACK
#define BOOLSIGNAL(s, signal) || !strcmp(s, #signal)
#undef _Static_assert
#undef g_signal_connect
#define g_signal_connect(instance, signal, c_handler, user_data) do { \
_Static_assert(((strlen(signal)>4 && !strcmp("event", &signal[strlen(signal)-5])) \
BOOLSIGNAL(signal, drag-motion) \
BOOLSIGNAL(signal, drag-failed) \
BOOLSIGNAL(signal, drag-drop) \
BOOLSIGNAL(signal, focus) \
BOOLSIGNAL(signal, draw) \
BOOLSIGNAL(signal, popup-menu) \
BOOLSIGNAL(signal, query-tooltip) \
BOOLSIGNAL(signal, match-selected) \
) == _Generic((DISABLINGPREFIX##c_handler), gboolean(*)(): TRUE, default: FALSE), \
"signal " signal " return type does not match specified handler " #c_handler); \
g_signal_connect_data((instance), (signal), (GCallback)(c_handler), (user_data), NULL, (GConnectFlags) 0); } while(0)
#endif // __cplusplus

G_END_DECLS

// clang-format off
Expand Down
2 changes: 1 addition & 1 deletion src/gui/hist_dialog.c
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,7 @@ int dt_gui_hist_dialog_new(dt_history_copy_item_t *d,
}

g_signal_connect(GTK_TREE_VIEW(d->items), "row-activated",
(GCallback)tree_on_row_activated, GTK_WIDGET(dialog));
G_CALLBACK(tree_on_row_activated), GTK_WIDGET(dialog));
g_object_unref(liststore);

g_signal_connect(dialog, "response", G_CALLBACK(_gui_hist_copy_response), d);
Expand Down
2 changes: 1 addition & 1 deletion src/gui/presets.c
Original file line number Diff line number Diff line change
Expand Up @@ -981,7 +981,7 @@ static void _edit_preset(const char *name_in, dt_iop_module_t *module)
name = g_strdup(name_in);

dt_gui_presets_show_iop_edit_dialog
(name, module, (GCallback)_edit_preset_final_callback, NULL, TRUE, TRUE,
(name, module, G_CALLBACK(_edit_preset_final_callback), NULL, TRUE, TRUE,
FALSE, GTK_WINDOW(dt_ui_main_window(darktable.gui->ui)));
g_free(name);
}
Expand Down
9 changes: 3 additions & 6 deletions src/iop/channelmixerrgb.c
Original file line number Diff line number Diff line change
Expand Up @@ -2874,7 +2874,6 @@ static void _start_profiling_callback(GtkWidget *togglebutton, dt_iop_module_t *
}

static void _run_profile_callback(GtkWidget *widget,
GdkEventButton *event,
dt_iop_module_t *self)
{
if(darktable.gui->reset) return;
Expand All @@ -2888,7 +2887,6 @@ static void _run_profile_callback(GtkWidget *widget,
}

static void _run_validation_callback(GtkWidget *widget,
GdkEventButton *event,
dt_iop_module_t *self)
{
if(darktable.gui->reset) return;
Expand All @@ -2902,7 +2900,6 @@ static void _run_validation_callback(GtkWidget *widget,
}

static void _commit_profile_callback(GtkWidget *widget,
GdkEventButton *event,
dt_iop_module_t *self)
{
if(darktable.gui->reset) return;
Expand Down Expand Up @@ -4693,22 +4690,22 @@ void gui_init(dt_iop_module_t *self)
g->button_commit = dtgtk_button_new(dtgtk_cairo_paint_check_mark, 0, NULL);
dt_action_define_iop(self, N_("calibrate"), N_("accept"),
g->button_commit, &dt_action_def_button);
g_signal_connect(G_OBJECT(g->button_commit), "button-press-event",
g_signal_connect(G_OBJECT(g->button_commit), "clicked",
G_CALLBACK(_commit_profile_callback), (gpointer)self);
gtk_widget_set_tooltip_text(g->button_commit,
_("accept the computed profile and set it in the module"));

g->button_profile = dtgtk_button_new(dtgtk_cairo_paint_refresh, 0, NULL);
dt_action_define_iop(self, N_("calibrate"), N_("recompute"),
g->button_profile, &dt_action_def_button);
g_signal_connect(G_OBJECT(g->button_profile), "button-press-event",
g_signal_connect(G_OBJECT(g->button_profile), "clicked",
G_CALLBACK(_run_profile_callback), (gpointer)self);
gtk_widget_set_tooltip_text(g->button_profile, _("recompute the profile"));

g->button_validate = dtgtk_button_new(dtgtk_cairo_paint_softproof, 0, NULL);
dt_action_define_iop(self, N_("calibrate"), N_("validate"),
g->button_validate, &dt_action_def_button);
g_signal_connect(G_OBJECT(g->button_validate), "button-press-event",
g_signal_connect(G_OBJECT(g->button_validate), "clicked",
G_CALLBACK(_run_validation_callback), (gpointer)self);
gtk_widget_set_tooltip_text(g->button_validate, _("check the output delta E"));

Expand Down
3 changes: 2 additions & 1 deletion src/iop/colorbalance.c
Original file line number Diff line number Diff line change
Expand Up @@ -1798,7 +1798,7 @@ static void _configure_slider_blocks(gpointer instance, dt_iop_module_t *self)
if(old_container) gtk_widget_show(new_container);
}

static void _cycle_layout_callback(GtkWidget *label, GdkEventButton *event, dt_iop_module_t *self)
static gboolean _cycle_layout_callback(GtkWidget *label, GdkEventButton *event, dt_iop_module_t *self)
{
gchar *layout = dt_conf_get_string("plugins/darkroom/colorbalance/layout");

Expand All @@ -1809,6 +1809,7 @@ static void _cycle_layout_callback(GtkWidget *label, GdkEventButton *event, dt_i
g_free(layout);

_configure_slider_blocks(NULL, self);
return TRUE;
}

#define HSL_CALLBACK(which) \
Expand Down
9 changes: 4 additions & 5 deletions src/iop/colorequal.c
Original file line number Diff line number Diff line change
Expand Up @@ -2814,13 +2814,12 @@ static gboolean _area_button_release_callback(GtkWidget *widget,
return FALSE;
}

static gboolean _area_size_callback(GtkWidget *widget,
GdkEventButton *event,
const dt_iop_module_t *self)
static void _area_size_callback(GtkWidget *widget,
GdkRectangle *allocation,
const dt_iop_module_t *self)
{
dt_iop_colorequal_gui_data_t *g = self->gui_data;
g->gradients_cached = FALSE;
return FALSE;
}

void gui_changed(dt_iop_module_t *self, GtkWidget *w, void *previous)
Expand Down Expand Up @@ -3033,7 +3032,7 @@ void gui_init(dt_iop_module_t *self)
G_CALLBACK(_area_motion_notify_callback), self);
g_signal_connect(G_OBJECT(g->area), "scroll-event",
G_CALLBACK(_area_scrolled_callback), self);
g_signal_connect(G_OBJECT(g->area), "size_allocate",
g_signal_connect(G_OBJECT(g->area), "size-allocate",
G_CALLBACK(_area_size_callback), self);

GtkWidget *box = self->widget = dt_gui_vbox(g->notebook, g->area);
Expand Down
2 changes: 1 addition & 1 deletion src/iop/lut3d.c
Original file line number Diff line number Diff line change
Expand Up @@ -1733,7 +1733,7 @@ void gui_init(dt_iop_module_t *self)
gtk_tree_view_append_column((GtkTreeView *)g->lutname, col);
GtkTreeSelection *selection = gtk_tree_view_get_selection((GtkTreeView *)g->lutname);
gtk_tree_selection_set_mode(selection, GTK_SELECTION_SINGLE);
g->lutname_handler_id = g_signal_connect(G_OBJECT(selection), "changed", G_CALLBACK(_lutname_callback), self);
g->lutname_handler_id = g_signal_connect_data(G_OBJECT(selection), "changed", G_CALLBACK(_lutname_callback), self, NULL, 0);
dt_gui_box_add(self->widget, g->lutwindow);

g_signal_connect(G_OBJECT(g->lutentry), "changed", G_CALLBACK(_entry_callback), self);
Expand Down
7 changes: 4 additions & 3 deletions src/iop/overlay.c
Original file line number Diff line number Diff line change
Expand Up @@ -734,9 +734,9 @@ void process(dt_iop_module_t *self,
dt_free_align(buf);
}

static void _draw_thumb(GtkWidget *area,
cairo_t *crf,
const dt_iop_module_t *self)
static gboolean _draw_thumb(GtkWidget *area,
cairo_t *crf,
const dt_iop_module_t *self)
{
const dt_iop_overlay_gui_data_t *g = self->gui_data;
const dt_iop_overlay_params_t *p = self->params;
Expand Down Expand Up @@ -807,6 +807,7 @@ static void _draw_thumb(GtkWidget *area,
pango_font_description_free(desc);
g_object_unref(layout);
}
return FALSE;
}

static void _alignment_callback(const GtkWidget *tb, dt_iop_module_t *self)
Expand Down
7 changes: 4 additions & 3 deletions src/iop/temperature.c
Original file line number Diff line number Diff line change
Expand Up @@ -2011,9 +2011,9 @@ static void _gui_sliders_update(dt_iop_module_t *self)
gtk_widget_set_visible(GTK_WIDGET(g->scale_y), (img->flags & DT_IMAGE_4BAYER));
}

static void temp_label_click(GtkWidget *label,
GdkEventButton *event,
dt_iop_module_t *self)
static gboolean temp_label_click(GtkWidget *label,
GdkEventButton *event,
dt_iop_module_t *self)
{
dt_iop_temperature_gui_data_t *g = self->gui_data;

Expand Down Expand Up @@ -2043,6 +2043,7 @@ static void temp_label_click(GtkWidget *label,
_color_temptint_sliders(self);
_color_rgb_sliders(self);
_color_finetuning_slider(self);
return TRUE;
}

static void _preference_changed(gpointer instance, dt_iop_module_t *self)
Expand Down
4 changes: 2 additions & 2 deletions src/libs/collect.c
Original file line number Diff line number Diff line change
Expand Up @@ -588,13 +588,13 @@ static void view_popup_menu(GtkWidget *treeview,

menuitem = gtk_menu_item_new_with_label(_("update path to files..."));
g_signal_connect(menuitem, "activate",
(GCallback)view_popup_menu_onSearchFilmroll, treeview);
G_CALLBACK(view_popup_menu_onSearchFilmroll), treeview);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);

menuitem = gtk_menu_item_new_with_label(_("remove..."));
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
g_signal_connect(menuitem, "activate",
(GCallback)view_popup_menu_onRemove, treeview);
G_CALLBACK(view_popup_menu_onRemove), treeview);

gtk_widget_show_all(GTK_WIDGET(menu));

Expand Down
Loading
Loading