diff options
Diffstat (limited to 'graphics/darktable/files')
7 files changed, 0 insertions, 388 deletions
diff --git a/graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac7433748 b/graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac7433748 deleted file mode 100644 index 4127a55bb2ba..000000000000 --- a/graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac7433748 +++ /dev/null @@ -1,85 +0,0 @@ -From 0cc770a2e21ced661c5363c5733eb13ac7433748 Mon Sep 17 00:00:00 2001 -From: Martin Straeten <39386816+MStraeten@users.noreply.github.com> -Date: Fri, 27 Jun 2025 17:06:45 +0200 -Subject: [PATCH] reset window placement if last position is out of available - display space (#18988) - -* reset window if position is out of display space - -on initialisation darktable moves the window to the last position even thats outside of the available displays. - -_valid_window_placement checks for an overlay with an existing display - -dt_gui_gtk_load_config() resets position to default if there's no overlap - -* 24 pixel as a border - -a border of 24 pixels is used to define the effective area that must be overlapped from the last window position to avoid a reset of position - -* stile fixes - -one parameter per line -several const additions ---- - src/gui/gtk.c | 41 ++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 40 insertions(+), 1 deletion(-) - -diff --git a/src/gui/gtk.c b/src/gui/gtk.c -index 671d87345850..a620dcb42332 100644 ---- src/gui/gtk.c -+++ b/src/gui/gtk.c -@@ -773,6 +773,42 @@ static gboolean _scrollbar_changed(GtkWidget *widget, - return TRUE; - } - -+gboolean _valid_window_placement( const gint saved_x, -+ const gint saved_y, -+ const gint window_width, -+ const gint window_height, -+ const gint border) -+{ -+ GdkDisplay *display = gdk_display_get_default(); -+ const gint n_monitors = gdk_display_get_n_monitors(display); -+ -+ // check each monitor -+ for(gint i = 0; i < n_monitors; i++) -+ { -+ GdkMonitor *monitor = gdk_display_get_monitor(display, i); -+ GdkRectangle geometry; -+ gdk_monitor_get_geometry(monitor, &geometry); -+ -+ // Calculate effective area excluding border -+ const gint eff_x = geometry.x + border; -+ const gint eff_y = geometry.y + border; -+ const gint eff_width = geometry.width - (2 * border); -+ const gint eff_height = geometry.height - (2 * border); -+ -+ if(eff_width <= 0 || eff_height <= 0) continue; -+ -+ // Check overlap -+ const gboolean x_overlap = (saved_x < eff_x + eff_width) && (saved_x + window_width > eff_x); -+ const gboolean y_overlap = (saved_y < eff_y + eff_height) && (saved_y + window_height > eff_y); -+ -+ if(x_overlap && y_overlap) -+ { -+ return TRUE; -+ } -+ } -+ return FALSE; -+} -+ - int dt_gui_gtk_load_config() - { - dt_pthread_mutex_lock(&darktable.gui->mutex); -@@ -784,7 +820,10 @@ int dt_gui_gtk_load_config() - const gint y = MAX(0, dt_conf_get_int("ui_last/window_y")); - - gtk_window_resize(GTK_WINDOW(widget), width, height); -- gtk_window_move(GTK_WINDOW(widget), x, y); -+ if(_valid_window_placement(x, y, width, height, 24)) -+ gtk_window_move(GTK_WINDOW(widget), x, y); -+ else -+ gtk_window_move(GTK_WINDOW(widget), 0, 0); - const gboolean fullscreen = dt_conf_get_bool("ui_last/fullscreen"); - - if(fullscreen) diff --git a/graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce898343059 b/graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce898343059 deleted file mode 100644 index cabdbe858e29..000000000000 --- a/graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce898343059 +++ /dev/null @@ -1,46 +0,0 @@ -From 5db7918176ca45a24e9ea5b2a7bdbce898343059 Mon Sep 17 00:00:00 2001 -From: Mario Zimmermann <mail@zisoft.de> -Date: Mon, 23 Jun 2025 13:36:33 +0200 -Subject: [PATCH] use full metadata tag name for variable substitution - ---- - src/common/variables.c | 4 +--- - src/gui/gtkentry.c | 2 +- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/src/common/variables.c b/src/common/variables.c -index b8deed704af0..2746a7cf8647 100644 ---- src/common/variables.c -+++ b/src/common/variables.c -@@ -953,9 +953,8 @@ static char *_get_base_value(dt_variables_params_t *params, char **variable) - for(GList* iter = dt_metadata_get_list(); iter; iter = iter->next) - { - dt_metadata_t *metadata = (dt_metadata_t *)iter->data; -- gchar *prefix = g_utf8_strup(dt_metadata_get_tag_subkey(metadata->tagname), -1); - gboolean found = FALSE; -- if(_has_prefix(variable, prefix)) -+ if(_has_prefix(variable, metadata->tagname)) - { - GList *res = dt_metadata_get(params->imgid, metadata->tagname, NULL); - if(res != NULL) -@@ -963,7 +962,6 @@ static char *_get_base_value(dt_variables_params_t *params, char **variable) - g_list_free_full(res, g_free); - found = TRUE; - } -- g_free(prefix); - if(found) break; - } - dt_pthread_mutex_unlock(&darktable.metadata_threadsafe); -diff --git a/src/gui/gtkentry.c b/src/gui/gtkentry.c -index b4acc9ccc8ad..db200eff47a9 100644 ---- src/gui/gtkentry.c -+++ b/src/gui/gtkentry.c -@@ -291,7 +291,7 @@ void dt_gtkentry_variables_add_metadata(dt_metadata_t *metadata) - { - GtkTreeIter iter; - -- gchar *varname = g_utf8_strup(dt_metadata_get_tag_subkey(metadata->tagname), -1); -+ gchar *varname = g_strdup(metadata->tagname); - gchar *description = g_strdup_printf("$(%s) - %s", varname, _("from metadata")); - gtk_list_store_append(_completion_model, &iter); - gtk_list_store_set(_completion_model, &iter, diff --git a/graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af b/graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af deleted file mode 100644 index 2cf87c412f38..000000000000 --- a/graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af +++ /dev/null @@ -1,23 +0,0 @@ -From 727ad35663589dc046c557787f0c1c34a45fb4af Mon Sep 17 00:00:00 2001 -From: Hanno Schwalm <hanno@schwalm-bremen.de> -Date: Sun, 29 Jun 2025 06:07:42 +0200 -Subject: [PATCH] Fix non-raw OpenCL rastermask codepath - -Using the correct OpenCL interpolator ---- - src/iop/rasterfile.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/iop/rasterfile.c b/src/iop/rasterfile.c -index 9f774b3c86cb..4e582861be70 100644 ---- src/iop/rasterfile.c -+++ b/src/iop/rasterfile.c -@@ -378,7 +378,7 @@ int process_cl(dt_iop_module_t *self, - if(visual) return err; - - if(roi_out->scale != roi_in->scale && ch == 4) -- err = dt_iop_clip_and_zoom_roi_cl(devid, dev_out, dev_in, roi_out, roi_in); -+ err = dt_iop_clip_and_zoom_cl(devid, dev_out, dev_in, roi_out, roi_in); - else - { - size_t iorigin[] = { roi_out->x, roi_out->y, 0 }; diff --git a/graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b b/graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b deleted file mode 100644 index 666c92431acb..000000000000 --- a/graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b +++ /dev/null @@ -1,154 +0,0 @@ -From b4e81416381fd7a1e189a4fc4d8b3836906ddd2b Mon Sep 17 00:00:00 2001 -From: Pascal Obry <pascal@obry.net> -Date: Tue, 17 Jun 2025 17:35:04 +0200 -Subject: [PATCH] Fix memory leak when using dt_util_localize_segmented_name. - ---- - src/common/history.c | 8 +++++--- - src/common/presets.c | 14 +++++++------- - src/common/presets.h | 8 ++++---- - src/develop/imageop.c | 6 +++++- - src/gui/styles_dialog.c | 12 +++++++----- - 5 files changed, 28 insertions(+), 20 deletions(-) - -diff --git a/src/common/history.c b/src/common/history.c -index 94b370c140f7..3fa458999ed7 100644 ---- src/common/history.c -+++ b/src/common/history.c -@@ -1,6 +1,6 @@ - /* - This file is part of darktable, -- Copyright (C) 2010-2024 darktable developers. -+ Copyright (C) 2010-2025 darktable developers. - - darktable is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -1023,13 +1023,15 @@ char *dt_history_get_name_label(const char *name, - } - else - { -- const char *l_label = hand_edited -- ? label -+ char *l_label = hand_edited -+ ? g_strdup (label) - : dt_util_localize_segmented_name(label, FALSE); - - result = markup - ? g_markup_printf_escaped("%s • <small>%s</small>", name, l_label) - : g_markup_printf_escaped("%s • %s", name, l_label); -+ -+ g_free(l_label); - } - - return result; -diff --git a/src/common/presets.c b/src/common/presets.c -index a22dc8935c56..50fab77749dc 100644 ---- src/common/presets.c -+++ b/src/common/presets.c -@@ -428,7 +428,7 @@ char *dt_presets_get_module_label(const char *module_name, - const char *name = (const char *)sqlite3_column_text(stmt, 0); - const char *multi_name = (const char *)sqlite3_column_text(stmt, 1); - if(multi_name && (strlen(multi_name) == 0 || multi_name[0] != ' ')) -- result = g_strdup(dt_presets_get_multi_name(name, multi_name, FALSE)); -+ result = dt_presets_get_multi_name(name, multi_name, FALSE); - } - g_free(query); - sqlite3_finalize(stmt); -@@ -436,9 +436,9 @@ char *dt_presets_get_module_label(const char *module_name, - return result; - } - --const char *dt_presets_get_multi_name(const char *name, -- const char *multi_name, -- const gboolean localize) -+char *dt_presets_get_multi_name(const char *name, -+ const char *multi_name, -+ const gboolean localize) - { - const gboolean auto_module = dt_conf_get_bool("darkroom/ui/auto_module_name_update"); - -@@ -446,10 +446,10 @@ const char *dt_presets_get_multi_name(const char *name, - // in non auto-update mode : use only the multi_name if defined - if(auto_module) - return strlen(multi_name) > 0 -- ? multi_name -- : (localize ? dt_util_localize_segmented_name(name, FALSE) : name); -+ ? g_strdup(multi_name) -+ : (localize ? dt_util_localize_segmented_name(name, FALSE) : g_strdup(name)); - else -- return strlen(multi_name) > 0 ? multi_name : ""; -+ return g_strdup(strlen(multi_name) > 0 ? multi_name : ""); - } - - // clang-format off -diff --git a/src/common/presets.h b/src/common/presets.h -index b493b543b1db..fe4c65fc3960 100644 ---- src/common/presets.h -+++ b/src/common/presets.h -@@ -1,6 +1,6 @@ - /* - This file is part of darktable, -- Copyright (C) 2019-2023 darktable developers. -+ Copyright (C) 2019-2025 darktable developers. - - darktable is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -42,9 +42,9 @@ char *dt_presets_get_module_label(const char *module_name, - and the recorded preset's multi_name. This depends on the preference - darkroom/ui/auto_module_name_update - */ --const char *dt_presets_get_multi_name(const char *name, -- const char *multi_name, -- const gboolean localize); -+char *dt_presets_get_multi_name(const char *name, -+ const char *multi_name, -+ const gboolean localize); - - /** get currently active preset name for the module */ - gchar *dt_get_active_preset_name(dt_iop_module_t *module, gboolean *writeprotect); -diff --git a/src/develop/imageop.c b/src/develop/imageop.c -index b2886b8d274e..13386fb6286b 100644 ---- src/develop/imageop.c -+++ b/src/develop/imageop.c -@@ -1198,7 +1198,11 @@ static void _iop_panel_name(dt_iop_module_t *module) - if(module->multi_name_hand_edited) - new_label = g_strdup_printf("• %s", module->multi_name); - else -- new_label = g_strdup_printf("• %s", dt_util_localize_segmented_name(module->multi_name, FALSE)); -+ { -+ char *loc = dt_util_localize_segmented_name(module->multi_name, FALSE); -+ new_label = g_strdup_printf("• %s", loc); -+ g_free(loc); -+ } - gtk_widget_set_name(GTK_WIDGET(iname), "iop-module-name"); - } - } -diff --git a/src/gui/styles_dialog.c b/src/gui/styles_dialog.c -index c4fc24704e9f..75474de98793 100644 ---- src/gui/styles_dialog.c -+++ b/src/gui/styles_dialog.c -@@ -1,6 +1,6 @@ - /* - This file is part of darktable, -- Copyright (C) 2010-2024 darktable developers. -+ Copyright (C) 2010-2025 darktable developers. - - darktable is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -1003,10 +1003,12 @@ GtkWidget *dt_gui_style_content_dialog(char *name, const dt_imgid_t imgid) - - if(i->multi_name && strlen(i->multi_name) > 0) - { -- snprintf(mn, sizeof(mn), "(%s)", -- i->multi_name_hand_edited -- ? i->multi_name -- : dt_util_localize_segmented_name(i->multi_name, TRUE)); -+ char *mname = i->multi_name_hand_edited -+ ? g_strdup(i->multi_name) -+ : dt_util_localize_segmented_name(i->multi_name, TRUE); -+ -+ snprintf(mn, sizeof(mn), "(%s)", mname); -+ g_free(mname); - } - else - { diff --git a/graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf642 b/graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf642 deleted file mode 100644 index 9b218f023472..000000000000 --- a/graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf642 +++ /dev/null @@ -1,23 +0,0 @@ -From dd5e98050bbd3b726cf1577042f03de734eaf642 Mon Sep 17 00:00:00 2001 -From: Pascal Obry <pascal@obry.net> -Date: Tue, 17 Jun 2025 17:34:51 +0200 -Subject: [PATCH] snapshots: Ensure the entry fill all the widget while - editing. - ---- - src/libs/snapshots.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libs/snapshots.c b/src/libs/snapshots.c -index bf0909f757e7..9c2fd0c23c76 100644 ---- src/libs/snapshots.c -+++ b/src/libs/snapshots.c -@@ -558,7 +558,7 @@ static void _init_snapshot_entry(dt_lib_module_t *self, dt_lib_snapshot_t *s) - gtk_widget_set_halign(s->name, GTK_ALIGN_START); - - s->entry = gtk_entry_new(); -- gtk_widget_set_halign(s->entry, GTK_ALIGN_START); -+ gtk_widget_set_halign(s->entry, GTK_ALIGN_FILL); - g_signal_connect(G_OBJECT(s->entry), "activate", - G_CALLBACK(_entry_activated_callback), self); - diff --git a/graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c712 b/graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c712 deleted file mode 100644 index 67331abd7b4c..000000000000 --- a/graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c712 +++ /dev/null @@ -1,27 +0,0 @@ -From e00a758e6164389e845308f3615c3754dd04c712 Mon Sep 17 00:00:00 2001 -From: Mario Zimmermann <mail@zisoft.de> -Date: Fri, 27 Jun 2025 20:05:23 +0200 -Subject: [PATCH] fix screen dpi setting has no effect - ---- - src/gui/gtk.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/gui/gtk.c b/src/gui/gtk.c -index a620dcb42332..d62411e9d6ef 100644 ---- src/gui/gtk.c -+++ b/src/gui/gtk.c -@@ -1630,10 +1630,10 @@ double dt_get_screen_resolution(GtkWidget *widget) - screen_dpi = 96.0; - strncpy(opt_str, "(default value)", sizeof(opt_str)); - } -- gdk_screen_set_resolution(gtk_widget_get_screen(widget), screen_dpi); -- dt_print(DT_DEBUG_CONTROL, "[screen resolution] setting the screen resolution to %f dpi %s", -- screen_dpi, opt_str); - } -+ gdk_screen_set_resolution(gtk_widget_get_screen(widget), screen_dpi); -+ dt_print(DT_DEBUG_CONTROL, "[screen resolution] setting the screen resolution to %f dpi %s", -+ screen_dpi, opt_str); - return screen_dpi; - } - diff --git a/graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa b/graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa deleted file mode 100644 index 2f3bf38c170c..000000000000 --- a/graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa +++ /dev/null @@ -1,30 +0,0 @@ -From eac87cf0c41ef6d2190cd88cd9379a288edba1fa Mon Sep 17 00:00:00 2001 -From: Pascal Obry <pascal@obry.net> -Date: Fri, 27 Jun 2025 08:14:30 +0200 -Subject: [PATCH] Fix compilation when OpenMP is disabled. - -Fixes #19006. ---- - src/common/darktable.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/common/darktable.c b/src/common/darktable.c -index 11f86b0330a8..e5feaf63eddd 100644 ---- src/common/darktable.c -+++ b/src/common/darktable.c -@@ -1193,10 +1193,13 @@ int dt_init(int argc, char *argv[], const gboolean init_gui, const gboolean load - if(desired > possible) - dt_print(DT_DEBUG_ALWAYS, - "[dt_init --threads] requested %d ompthreads restricted to %d", -- desired, possible); -+ desired, possible); -+#ifdef _OPENMP - dt_print(DT_DEBUG_ALWAYS, - "[dt_init --threads] using %d threads of %d for openmp parallel sections %s", -- darktable.num_openmp_threads, (int)dt_get_num_procs(), omp_get_dynamic() ? "(dynamic)" : "(static)"); -+ darktable.num_openmp_threads, (int)dt_get_num_procs(), -+ omp_get_dynamic() ? "(dynamic)" : "(static)"); -+#endif - k++; - argv[k-1] = NULL; - argv[k] = NULL; |