Package: aegisub
Version: 3.2.2+dfsg-7
Severity: normal

Dear Maintainer,

aegisub starts to show warnings on startup like below:
,----
| ./src/common/sizer.cpp(2288): assert "CheckSizerFlags(!((flags) & 
(wxALIGN_RIGHT | wxALIGN_CENTRE_HORIZONTAL | wxALIGN_BOTTOM | 
wxALIGN_CENTRE_VERTICAL)))" failed in DoInsert(): wxALIGN_RIGHT | 
wxALIGN_CENTRE_HORIZONTAL | wxALIGN_BOTTOM | wxALIGN_CENTRE_VERTICAL will be 
ignored in this sizer: wxEXPAND overrides alignment flags in box sizers
| 
| DO NOT PANIC !!
| 
| If you're an end user running a program not developed by you, please ignore 
this message, it is harmless, and please try reporting the problem to the 
program developers.
| 
| You may also set WXSUPPRESS_SIZER_FLAGS_CHECK environment variable to 
suppress all such checks when running this program.
| 
| If you're the developer, simply remove this flag from your code to avoid 
getting this message. You can also call 
wxSizerFlags::DisableConsistencyChecks() to globally disable all such checks, 
but this is strongly not recommended.
`----

I believe this starts to happen after migrating to wxWidgets 3.2 which
added those checks.  I have proposed a merge request on Salsa[1] that
gets rid of the warnings, and I'm attaching the patches here as well.
PTAL.

(Also, version 3.2.2 was from 2014 and it would be great if aegisub can
start tracking the more active repo at
https://github.com/TypesettingTools/Aegisub.  But let's track this in
Bug#1027433.)

TIA.

[1] https://salsa.debian.org/debian/aegisub/-/merge_requests/4

-- System Information:
Debian Release: 12.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-25-amd64 (SMP w/16 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages aegisub depends on:
ii  libasound2                                 1.2.8-1+b1
ii  libass9                                    1:0.17.1-1
ii  libboost-chrono1.74.0                      1.74.0+ds1-21
ii  libboost-filesystem1.74.0                  1.74.0+ds1-21
ii  libboost-locale1.74.0                      1.74.0+ds1-21
ii  libboost-regex1.74.0 [libboost-regex1.74.  1.74.0+ds1-21
    0-icu72]
ii  libboost-thread1.74.0                      1.74.0+ds1-21
ii  libc6                                      2.36-9+deb12u8
ii  libffms2-5                                 2.40+git20211209-2+b1
ii  libfftw3-double3                           3.3.10-1
ii  libfontconfig1                             2.14.1-4
ii  libgcc-s1                                  12.2.0-14
ii  libgl1                                     1.6.0-1
ii  libhunspell-1.7-0                          1.7.1-1
ii  libicu72                                   72.1-3
ii  libluajit-5.1-2                            2.1.0~beta3+git20220320+dfsg-4.1
ii  libpulse0                                  16.1+dfsg1-2+b1
ii  libstdc++6                                 12.2.0-14
ii  libwxbase3.2-1                             3.2.2+dfsg-2
ii  libwxgtk-gl3.2-1                           3.2.2+dfsg-2
ii  libwxgtk3.2-1                              3.2.2+dfsg-2
ii  zlib1g                                     1:1.2.13.dfsg-1

aegisub recommends no packages.

Versions of packages aegisub suggests:
pn  aegisub-l10n  <none>

-- no debconf information

-- 
Xiyue Deng
>From 24e7af1e78c9401c4a9b23e40252e187c3e4ba55 Mon Sep 17 00:00:00 2001
From: Xiyue Deng <[email protected]>
Date: Wed, 11 Sep 2024 15:22:01 -0700
Subject: [PATCH 1/2] Add patch to suppress startup warnings on newer wxWidgets
 versions

* Newer wxWidgets added more checks for wxSizer and the old code base
has not migrated yet.
* Added "wxSizerFlags::DisableConsistencyChecks()" to disable the
checks.
* Use newer API to get rid of a warning.
---
 debian/patches/series                         |  1 +
 .../patches/suppress-startup-warnings.patch   | 51 +++++++++++++++++++
 2 files changed, 52 insertions(+)
 create mode 100644 debian/patches/suppress-startup-warnings.patch

diff --git a/debian/patches/series b/debian/patches/series
index bc373f1..2c3e6a0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -27,3 +27,4 @@ update-ffms2-doindexing2.patch
 update-ffms2-x11-none.patch
 update-ffms2-log-levels.patch
 fix_boost183.patch
+suppress-startup-warnings.patch
diff --git a/debian/patches/suppress-startup-warnings.patch b/debian/patches/suppress-startup-warnings.patch
new file mode 100644
index 0000000..55919ae
--- /dev/null
+++ b/debian/patches/suppress-startup-warnings.patch
@@ -0,0 +1,51 @@
+From bb124f7cced4a117de6adc3caceffed827050e52 Mon Sep 17 00:00:00 2001
+From: Xiyue Deng <[email protected]>
+Date: Wed, 11 Sep 2024 16:01:12 -0700
+Subject: [PATCH] Suppress startup warnings
+Forwarded: not-needed
+
+* Newer wxWidgets added more sizer checks and caused a few startup
+warnings.
+* This patches suppresses the warnings by disabling consistency check
+and using newer API.
+* Warning text:
+,----
+| ./src/common/sizer.cpp(2288): assert "CheckSizerFlags(!((flags) & (wxALIGN_RIGHT | wxALIGN_CENTRE_HORIZONTAL | wxALIGN_BOTTOM | wxALIGN_CENTRE_VERTICAL)))" failed in DoInsert(): wxALIGN_RIGHT | wxALIGN_CENTRE_HORIZONTAL | wxALIGN_BOTTOM | wxALIGN_CENTRE_VERTICAL will be ignored in this sizer: wxEXPAND overrides alignment flags in box sizers
+|
+| DO NOT PANIC !!
+|
+| If you're an end user running a program not developed by you, please ignore this message, it is harmless, and please try reporting the problem to the program developers.
+|
+| You may also set WXSUPPRESS_SIZER_FLAGS_CHECK environment variable to suppress all such checks when running this program.
+|
+| If you're the developer, simply remove this flag from your code to avoid getting this message. You can also call wxSizerFlags::DisableConsistencyChecks() to globally disable all such checks, but this is strongly not recommended.
+`----
+---
+ src/frame_main.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/frame_main.cpp b/src/frame_main.cpp
+index ba107d6..50a9242 100644
+--- a/src/frame_main.cpp
++++ b/src/frame_main.cpp
+@@ -98,6 +98,7 @@ FrameMain::FrameMain()
+ , context(agi::make_unique<agi::Context>())
+ {
+ 	StartupLog("Entering FrameMain constructor");
++	wxSizerFlags::DisableConsistencyChecks();
+ 
+ #ifdef __WXGTK__
+ 	// XXX HACK XXX
+@@ -242,8 +243,7 @@ void FrameMain::SetDisplayMode(int video, int audio) {
+ 	TopSizer->Show(videoBox, showVideo, true);
+ 	ToolsSizer->Show(audioBox, showAudio, true);
+ 
+-	MainSizer->CalcMin();
+-	MainSizer->RecalcSizes();
++	MainSizer->RepositionChildren(MainSizer->CalcMin());
+ 	MainSizer->Layout();
+ 	Layout();
+ 
+-- 
+2.39.2
+
-- 
2.39.2

>From f46c89ee73812074fe4b4f5c29ddc444b90bcd32 Mon Sep 17 00:00:00 2001
From: Xiyue Deng <[email protected]>
Date: Wed, 11 Sep 2024 15:25:35 -0700
Subject: [PATCH 2/2] Update d/changelog

---
 debian/changelog | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 414af7e..a40535b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+aegisub (3.2.2+dfsg-7.2) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Add patch to suppress startup warnings on newer wxWidgets versions.
+
+ -- Xiyue Deng <[email protected]>  Wed, 11 Sep 2024 15:24:39 -0700
+
 aegisub (3.2.2+dfsg-7.1) unstable; urgency=medium
 
   * Non-maintainer upload.
-- 
2.39.2

Reply via email to