mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-10 07:50:19 +00:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user