[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1120490: trixie-pu: package survex/1.4.17-1+deb13u1



Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: survex@packages.debian.org
Control: affects -1 + src:survex
User: release.debian.org@packages.debian.org
Usertags: pu

Upstream survex 1.4.17 changed to using wxSearchCtrl for the station
name search box which gives a more native look and feel to the UI.
While implementing this upstream, I found that the default sizing of
wxSearchCtrl in a toolbar was unusably narrow so I reported this to
wxWidgets upstream:

https://github.com/wxWidgets/wxWidgets/issues/25210

I found calling SetSize(160, -1) provided a workaround, so that's what the
version of survex in trixie does.

wxWidgets upstream investigated and found there were actually two problems
contributing to this:

1. The "best size" reported by wxSearchCtrl was just too small
2. wxToolBar didn't respecting the min size reported by its subwindows

Both were fixed in their development version, but only the fix for (2)
was backported to wxWidgets 3.2.x (their ABI checking tools reports that
the fix for (1) changes the ABI; this may be a false positive but they
are understandably unkeen to ignore it).

wxWidgets 3.2.8 was uploaded to debian (source package wxwidgets3.2) and
made it into trixie but unfortunately broke my workaround.  This patch
extends the workaround to also call SetMinSize() which fixes this.

[ Impact ]

Without this patch the station search box is gets sized with no area
to enter a search into - this search is close to essential when dealing
with large cave systems, so this has a major effect on usability for
many users.

[ Tests ]

No automated tests, but I've installed the patched version and the
search control gets a usable size.

[ Risks ]

This change is extremely low risk - it's a single line change which
just explicitly sets the minimum size for a single control.

An alternative fix would be to patch wxwidgets3.2 instead, either
backporting the fix for (1) (and hoping the ABI warnings are wrong) or
reverting the fix for (2).  I'm also co-maintainer for that package, so
have looked into that.  Both those changes seem much more invasive than
this simple one line patch and wxWidgets is much more widely used than
survex so this seems higher risk.  We've not had any other reports of
similar problems forwarded to wxwidgets3.2, and my attempts to find a
broken case in other rdeps didn't turn up anything (though it's not
trivial to search for "wxSearchCtrl (or subclass) added to a wxToolBar
(or subclass) without calling SetMinSize()".

[ Checklist ]

  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]

A patch cherry-picked from 1.4.18-1 which adds a single line of code
to explicitly sets the minimum size of a search control to the same size
we already explicitly set its size to.

[ Other info ]

I've already uploaded:
> survex_1.4.17-1+deb13u1_source.changes ACCEPTED into proposed-updates->stable-new

Cheers,
    Olly
diff -Nru survex-1.4.17/debian/changelog survex-1.4.17/debian/changelog
--- survex-1.4.17/debian/changelog	2025-04-15 10:19:29.000000000 +1200
+++ survex-1.4.17/debian/changelog	2025-11-11 10:48:21.000000000 +1300
@@ -1,3 +1,11 @@
+survex (1.4.17-1+deb13u1) trixie; urgency=medium
+
+  * New patch fix-find-stations-search-box-width.patch backported from
+    1.4.18.  This fixes the width of the "find stations" search box to
+    make it actually usable again.  Closes: #1109835
+
+ -- Olly Betts <olly@survex.com>  Tue, 11 Nov 2025 10:48:21 +1300
+
 survex (1.4.17-1) unstable; urgency=medium
 
   * New upstream release:
diff -Nru survex-1.4.17/debian/patches/fix-find-stations-search-box-width.patch survex-1.4.17/debian/patches/fix-find-stations-search-box-width.patch
--- survex-1.4.17/debian/patches/fix-find-stations-search-box-width.patch	1970-01-01 12:00:00.000000000 +1200
+++ survex-1.4.17/debian/patches/fix-find-stations-search-box-width.patch	2025-11-11 10:48:21.000000000 +1300
@@ -0,0 +1,23 @@
+Description: Fix "Find stations" search box width
+ Upstream survex 1.4.17 changed to using wxSearchCtrl for this search
+ box which gives a more native look and feel to the UI.  With wxWidgets
+ 3.2.8 we need to explicitly set the minimum size or else when added to
+ a wxToolbar the text entry part of the search control is zero width
+ which makes it unusable.
+Author: Thomas Holder <thomas@thomas-holder.de>
+Bug: https://github.com/ojwb/survex/pull/15
+Bug-Debian: https://bugs.debian.org/1109835
+Reviewed-by: Olly Betts <olly@survex.com>
+Applied-Upstream: commit:d6a183087846672f82e9b4b866c568e10a2155c0
+Last-Update: 2025-11-11
+
+--- a/src/mainfrm.cc
++++ b/src/mainfrm.cc
+@@ -1030,6 +1030,7 @@ void MainFrm::MakeToolBar()
+     toolbar->AddSeparator();
+     m_FindBox = new wxSearchCtrl(toolbar, textctrl_FIND);
+     m_FindBox->SetSize(160, -1);
++    m_FindBox->SetMinSize(wxSize(160, wxDefaultCoord));
+     // TRANSLATORS: Placeholder text in aven's station search control.
+     m_FindBox->SetDescriptiveText(wmsg(/*Find stations*/333));
+     toolbar->AddControl(m_FindBox);
diff -Nru survex-1.4.17/debian/patches/series survex-1.4.17/debian/patches/series
--- survex-1.4.17/debian/patches/series	2025-04-15 10:19:29.000000000 +1200
+++ survex-1.4.17/debian/patches/series	2025-11-11 10:48:21.000000000 +1300
@@ -1 +1,2 @@
 fix-enter-in-search-control.patch
+fix-find-stations-search-box-width.patch

Reply to: