Updated the Windows copy project to explicitly include GLib GSettings schema files from $(DepsRoot)\share\glib-2.0\schemas\* and copy them into the release tree at share\glib-2.0\schemas\..., ensuring gschemas.compiled is bundled with portable/release artifacts.

Updated the Inno Setup installer file list to install share\glib-2.0\schemas\* into {app}\share\glib-2.0\schemas under the libs component, so installed builds also ship required schema data.
Updated gtkutil_file_req_response() so only GTK_RESPONSE_ACCEPT runs the file-selection path; all non-accept responses now immediately destroy the dialog via the callback’s dialog pointer, avoiding chooser access on cancel paths.
Kept native chooser handling aligned with that behavior: chooser reads are still gated behind GTK_RESPONSE_ACCEPT, while cleanup remains a single unref path deferred to idle to avoid teardown-in-signal-stack issues on Windows.
This commit is contained in:
2026-02-16 18:57:48 -07:00
parent 3872c4fcdf
commit ef87b569d7
3 changed files with 8 additions and 8 deletions

View File

@@ -480,16 +480,14 @@ gtkutil_file_req_done (GtkWidget * wid, struct file_req *freq)
static void
gtkutil_file_req_response (GtkWidget *dialog, gint res, struct file_req *freq)
{
switch (res)
if (res == GTK_RESPONSE_ACCEPT)
{
case GTK_RESPONSE_ACCEPT:
gtkutil_file_req_done (dialog, freq);
break;
case GTK_RESPONSE_CANCEL:
/* this should call the "destroy" cb, where we free(freq) */
gtk_widget_destroy (freq->dialog);
return;
}
/* this should call the "destroy" cb, where we free(freq) */
gtk_widget_destroy (dialog);
}
#if defined (WIN32) && HAVE_GTK3