Gimp/libgimpwidgets
Jehan a5fe4f1ca5 Issue #11613: crashing when freeing window handle (again).
This is a followup of commit 0ff960c45b which was the right fix, except
that we must make sure that gimp_widget_free_native_handle() is called
**before** chaining up with the widget's parent dispose().

Failing to do so, the first parent's dispose() was destroying the
associated GdkWindow, which made it impossible to call
gdk_wayland_window_unexport_handle() on it. And therefore we were still
getting handle callbacks possibly run after the window was destroyed, if
we were very fast enough to destroy a window immediately when it is
being shown.

I was still experiencing a crash when closing the Export file dialog
very fast with Esc while it was reappearing after canceling a plug-in's
export dialog.

This followup commit reorders the one case where we still had the crash
because of this order issue, and adds some docs comment to tell
developers how to use the freeing function.
2025-10-30 18:53:00 +01:00
..
gimpbrowser.c libgimpwidgets: Use GtkSearchEntry in GimpBrowser 2025-10-12 16:04:07 -03:00
gimpbrowser.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpbusybox.c libgimpwidgets: Convert widgets to final/derived type 2024-07-29 01:51:38 +00:00
gimpbusybox.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpbutton.c libgimpwidgets: Make GimpButton a derivable type 2024-07-30 19:04:53 +00:00
gimpbutton.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcairo-utils.c libgimpwidgets: delete unused variable. 2024-10-28 22:08:45 +01:00
gimpcairo-utils.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcellrenderercolor.c libgimpwidgets: Convert widgets to final/derived type 2024-07-29 01:51:38 +00:00
gimpcellrenderercolor.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcellrenderertoggle.c libgimp*: revert using g_set_str() outside app/ 2025-07-10 23:27:54 +02:00
gimpcellrenderertoggle.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpchainbutton.c libgimpwidgets: GimpChainButton now a final type too. 2024-10-16 22:30:49 +02:00
gimpchainbutton.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorarea.c clipboard: Fix #14639 2025-09-21 00:06:15 +01:00
gimpcolorarea.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorbutton.c libgimp, libgimpmodule, libgimpwidgets: Port more widgets to derivable type 2024-08-03 02:48:07 +00:00
gimpcolorbutton.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolordisplay.c libgimpwidgets: GimpColorDisplay is an abstract class. 2024-10-16 22:30:49 +02:00
gimpcolordisplay.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolordisplaystack.c libgimpwidgets: GimpColorDisplayStack made final. 2024-10-16 22:30:49 +02:00
gimpcolordisplaystack.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorhexentry.c libgimpwidgets: Update hex color as you type 2025-09-25 11:48:17 +00:00
gimpcolorhexentry.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolornotebook.c libgimpwidgets: GimpColorNotebook made final. 2024-10-16 22:30:49 +02:00
gimpcolornotebook.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorprofilechooserdialog.c libgimpwidgets: Convert widgets to final/derived type 2024-07-29 01:51:38 +00:00
gimpcolorprofilechooserdialog.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorprofilecombobox.c libgimpwidgets: Convert widgets to final/derived type 2024-07-29 01:51:38 +00:00
gimpcolorprofilecombobox.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorprofilestore-private.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorprofilestore.c libgimpwidgets: Convert widgets to final/derived type 2024-07-29 01:51:38 +00:00
gimpcolorprofilestore.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorprofileview.c libgimpwidgets: Convert widgets to final/derived type 2024-07-29 01:51:38 +00:00
gimpcolorprofileview.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorscale.c libgimpwidgets: Convert CIE LCH(ab) babl format to float 2024-08-08 19:25:07 +00:00
gimpcolorscale.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorscaleentry.c
gimpcolorscaleentry.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorscales.c libgimpwidgets: No decimal for u8 RGB color selector 2025-08-07 04:05:48 +00:00
gimpcolorscales.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorselect.c libgimpwidgets: Ellipsize GimpColorSelect color profile labels 2024-11-26 21:56:11 +00:00
gimpcolorselect.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorselection.c libgimpwidgets: GimpColorSelection made final. 2024-10-16 22:30:49 +02:00
gimpcolorselection.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcolorselector.c libgimpwidgets: GimpColorSelector and GimpController are abstract. 2024-10-16 22:30:49 +02:00
gimpcolorselector.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpcontroller.c libgimp*: revert using g_set_str() outside app/ 2025-07-10 23:27:54 +02:00
gimpcontroller.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpdialog.c libgimp*: revert using g_set_str() outside app/ 2025-07-10 23:27:54 +02:00
gimpdialog.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpeevl.c libgimpwidgets: free leaked GError. 2021-08-22 12:22:50 +02:00
gimpeevl.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpenumcombobox.c
gimpenumcombobox.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpenumlabel.c libgimpwidgets: Convert widgets to final/derived type 2024-07-29 01:51:38 +00:00
gimpenumlabel.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpenumstore.c libgimpwidgets: GimpEnumStore made final. 2024-10-16 22:30:49 +02:00
gimpenumstore.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpenumwidgets.c tools, libgimpwidgets: Connect SelectionOptions to icon size 2024-08-15 19:07:14 +00:00
gimpenumwidgets.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpfilechooser.c libgimp: GimpFileChooser: fix #12847 inf loop in signal handler 2025-02-07 07:23:42 -05:00
gimpfilechooser.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpfileentry.c libgimpwidgets: GimpFileEntry is not public anymore. 2024-10-31 19:54:43 +01:00
gimpfileentry.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpframe.c libgimpwidget: Fix GimpFrame line-spacing property 2023-04-22 03:01:16 +00:00
gimpframe.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimphelpui.c app, libgimpwidgets, plug-ins: add tooltip arg to gimp_help_connect(). 2024-08-24 23:29:39 +02:00
gimphelpui.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimphintbox.c libgimpwidgets: Convert widgets to final/derived type 2024-07-29 01:51:38 +00:00
gimphintbox.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpicons.c libgimpwidgets: gtk-fallback-icon-theme is deprecated... 2025-05-22 16:18:44 -04:00
gimpicons.h app, libgimpwidgets: add 2 new icon macros. 2025-10-10 23:34:37 +02:00
gimpintcombobox.c libgimpwidgets: Convert widgets to final/derived type 2024-07-29 01:51:38 +00:00
gimpintcombobox.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpintradioframe.c libgimpwidgets: GimpIntRadioFrame is now a FINAL type 2024-10-18 04:17:23 +00:00
gimpintradioframe.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpintstore.c libgimp, libgimpmodule, libgimpwidgets: Port more widgets to derivable type 2024-08-03 02:48:07 +00:00
gimpintstore.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimplabelcolor.c libgimpwidgets: More widgets are now FINAL types 2024-10-19 02:27:07 +00:00
gimplabelcolor.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimplabeled.c libgimpwidgets: add a "mnemonic-widget-changed" signal to GimpLabeled. 2022-02-17 23:24:05 +01:00
gimplabeled.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimplabelentry.c libgimpwidgets: consider NULL value of GimpLabelEntry as empty string. 2025-10-14 22:28:37 +02:00
gimplabelentry.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimplabelintwidget.c libgimpwidgets: More widgets are now FINAL types 2024-10-19 02:27:07 +00:00
gimplabelintwidget.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimplabelspin.c Issue #11339: color selection sliders don't always update for slow increments. 2024-10-10 11:50:56 +02:00
gimplabelspin.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimplabelstringwidget.c libgimp*: revert using g_set_str() outside app/ 2025-07-10 23:27:54 +02:00
gimplabelstringwidget.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpmemsizeentry.c libgimpwidgets: More widgets are now FINAL types 2024-10-19 02:27:07 +00:00
gimpmemsizeentry.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpnumberpairentry.c libgimpwidgets: More widgets are now FINAL types 2024-10-19 02:27:07 +00:00
gimpnumberpairentry.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpoffsetarea.c libgimpwidgets: More widgets are now FINAL types 2024-10-19 02:27:07 +00:00
gimpoffsetarea.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimppageselector.c libgimpwidgets: fix overlapping ngettext usage 2025-10-08 22:14:24 +02:00
gimppageselector.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimppatheditor.c libgimpwidgets: GimpFileEntry is not public anymore. 2024-10-31 19:54:43 +01:00
gimppatheditor.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimppickbutton-kwin.c libgimpwidgets: Make GimpPickButton a derivable type 2024-08-03 18:24:46 +00:00
gimppickbutton-kwin.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimppickbutton-private.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimppickbutton-quartz.c libgimpwidgets: fix undeclared identifier. 2024-04-12 12:24:53 +02:00
gimppickbutton-quartz.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimppickbutton-win32.c Don't convert to float before storing... 2024-04-09 00:48:35 +00:00
gimppickbutton-win32.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimppickbutton-xdg.c libgimpwidgets: Make GimpPickButton a derivable type 2024-08-03 18:24:46 +00:00
gimppickbutton-xdg.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimppickbutton.c libgimpwidgets: Make GimpPickButton a derivable type 2024-08-03 18:24:46 +00:00
gimppickbutton.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimppreview.c libgimp, libgimpcolor, libgimpconfig: Convert to derivable types 2024-08-02 14:02:30 +00:00
gimppreview.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimppreviewarea.c libgimpwidgets: Convert widgets to final/derived type 2024-07-29 01:51:38 +00:00
gimppreviewarea.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimppropwidgets.c libgimpwidgets: fix build warning. 2025-08-31 17:49:24 +02:00
gimppropwidgets.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpquerybox.c libgimpwidgets: Add default response for GimpQueryBox dialogues 2025-03-22 02:10:46 +00:00
gimpquerybox.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpruler.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
gimpruler.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpscaleentry.c app, libgimp, libgimpwidgets, plug-ins, etc: rename behaviour to behavior 2023-07-21 15:35:23 -04:00
gimpscaleentry.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpscrolledpreview.c libgimp, libgimpcolor, libgimpconfig: Convert to derivable types 2024-08-02 14:02:30 +00:00
gimpscrolledpreview.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpsizeentry.c libgimpwidgets: enable expression parser for GimpSizeEntry 2025-08-05 23:43:30 +00:00
gimpsizeentry.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpspinbutton.c libgimpwidgets: Convert widgets to final/derived type 2024-07-29 01:51:38 +00:00
gimpspinbutton.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpspinscale.c libgimpwidgets: Use arrows for GimpSpinScale cursors 2025-08-06 18:19:36 +00:00
gimpspinscale.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpstringcombobox.c libgimpwidgets: Convert widgets to final/derived type 2024-07-29 01:51:38 +00:00
gimpstringcombobox.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpunitcombobox.c libgimpwidgets: GimpUnitComboBox and GimpZoomModel... 2024-10-22 04:23:46 +00:00
gimpunitcombobox.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpunitstore.c libgimp*: revert using g_set_str() outside app/ 2025-07-10 23:27:54 +02:00
gimpunitstore.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpwidgets-error.c
gimpwidgets-error.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpwidgets-private.c app, libgimp*, pdb, plug-ins: GimpContext is now using only GeglColor. 2024-02-11 23:28:02 +01:00
gimpwidgets-private.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpwidgets.c libgimp, libgimpwidgets: fix (closure) annotations. 2025-07-07 17:59:32 +02:00
gimpwidgets.def libgimpwidgets: new gimp_prop_toggle_new() property widget function. 2025-05-22 21:14:20 +00:00
gimpwidgets.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpwidgetsenums.c app, libgimp*: commit the newly generated *enums.c files. 2022-08-01 20:00:01 +02:00
gimpwidgetsenums.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpwidgetsmarshal.list Remove use of custom marshallers in favor of GLib ones 2021-08-13 18:01:13 +00:00
gimpwidgetstypes.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
gimpwidgetsutils.c Issue #11613: crashing when freeing window handle (again). 2025-10-30 18:53:00 +01:00
gimpwidgetsutils.h libgimpwidgets: clean documentation and implementation. 2025-10-24 02:24:53 +02:00
gimpzoommodel.c libgimpwidgets: GimpUnitComboBox and GimpZoomModel... 2024-10-22 04:23:46 +00:00
gimpzoommodel.h Revert "libgimpwidgets: #pragma once, and formatting and ordering" 2025-08-14 00:54:52 +02:00
meson.build Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
test-eevl.c
test-preview-area.c