From ef87b569d729ade53f7d6f96244112b36dc9d2df Mon Sep 17 00:00:00 2001 From: deepend Date: Mon, 16 Feb 2026 18:57:48 -0700 Subject: [PATCH] =?UTF-8?q?Updated=20the=20Windows=20copy=20project=20to?= =?UTF-8?q?=20explicitly=20include=20GLib=20GSettings=20schema=20files=20f?= =?UTF-8?q?rom=20$(DepsRoot)\share\glib-2.0\schemas\*=20and=20copy=20them?= =?UTF-8?q?=20into=20the=20release=20tree=20at=20share\glib-2.0\schemas\..?= =?UTF-8?q?.,=20ensuring=20gschemas.compiled=20is=20bundled=20with=20porta?= =?UTF-8?q?ble/release=20artifacts.=20Updated=20the=20Inno=20Setup=20insta?= =?UTF-8?q?ller=20file=20list=20to=20install=20share\glib-2.0\schemas\*=20?= =?UTF-8?q?into=20{app}\share\glib-2.0\schemas=20under=20the=20libs=20comp?= =?UTF-8?q?onent,=20so=20installed=20builds=20also=20ship=20required=20sch?= =?UTF-8?q?ema=20data.=20Updated=20gtkutil=5Ffile=5Freq=5Fresponse()=20so?= =?UTF-8?q?=20only=20GTK=5FRESPONSE=5FACCEPT=20runs=20the=20file-selection?= =?UTF-8?q?=20path;=20all=20non-accept=20responses=20now=20immediately=20d?= =?UTF-8?q?estroy=20the=20dialog=20via=20the=20callback=E2=80=99s=20dialog?= =?UTF-8?q?=20pointer,=20avoiding=20chooser=20access=20on=20cancel=20paths?= =?UTF-8?q?.=20Kept=20native=20chooser=20handling=20aligned=20with=20that?= =?UTF-8?q?=20behavior:=20chooser=20reads=20are=20still=20gated=20behind?= =?UTF-8?q?=20GTK=5FRESPONSE=5FACCEPT,=20while=20cleanup=20remains=20a=20s?= =?UTF-8?q?ingle=20unref=20path=20deferred=20to=20idle=20to=20avoid=20tear?= =?UTF-8?q?down-in-signal-stack=20issues=20on=20Windows.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/fe-gtk/gtkutil.c | 12 +++++------- win32/copy/copy.vcxproj | 3 ++- win32/installer/zoitechat.iss.tt | 1 + 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/fe-gtk/gtkutil.c b/src/fe-gtk/gtkutil.c index af409bce..9aa64ec1 100644 --- a/src/fe-gtk/gtkutil.c +++ b/src/fe-gtk/gtkutil.c @@ -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 diff --git a/win32/copy/copy.vcxproj b/win32/copy/copy.vcxproj index c6db5a13..3053ba91 100644 --- a/win32/copy/copy.vcxproj +++ b/win32/copy/copy.vcxproj @@ -81,6 +81,7 @@ + @@ -93,6 +94,7 @@ + @@ -114,4 +116,3 @@ - diff --git a/win32/installer/zoitechat.iss.tt b/win32/installer/zoitechat.iss.tt index b4bb520a..c06df2e4 100644 --- a/win32/installer/zoitechat.iss.tt +++ b/win32/installer/zoitechat.iss.tt @@ -114,6 +114,7 @@ Source: "cert.pem"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs Source: "share\doc\*"; DestDir: "{app}\share\doc"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs Source: "share\themes\MS-Windows\*"; DestDir: "{app}\share\themes\MS-Windows"; Flags: ignoreversion createallsubdirs recursesubdirs skipifsourcedoesntexist; Components: libs +Source: "share\glib-2.0\schemas\*"; DestDir: "{app}\share\glib-2.0\schemas"; Flags: ignoreversion createallsubdirs recursesubdirs skipifsourcedoesntexist; Components: libs Source: "share\locale\*"; DestDir: "{app}\share\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations Source: "etc\fonts\*"; DestDir: "{app}\etc\fonts"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs