Package: wxhexeditor
Version: 0.24+repack-2+b4
Severity: important
Tags: patch

Dear maintainer,

after opening a file, the hex panel does not update while moving over the file
content when using a wayland compositor. This makes the app unusable
in this setup.

The workaround is to run the wxHexEditor with x11 backend instead of wayland,
like this:

$ GDK_BACKEND=x11 wxHexEditor

The bug has already been reported 
(https://github.com/EUA/wxHexEditor/issues/143)
and fixed by the upstream with the git commit
01aa3aa460814a5bac74c14fa2894a4703c8e7b6, available at
https://github.com/EUA/wxHexEditor/commit/01aa3aa460814a5bac74c14fa2894a4703c8e7b6

Here is the patch that fixes the issue and applies cleanly
on the wxhexeditor_0.24+repack-2.debian:

diff -u wxhexeditor-0.24+repack/src/HexEditorCtrl/wxHexCtrl/wxHexCtrl.cpp 
wxhexeditor-0.24+repack-modified/src/HexEditorCtrl/wxHexCtrl/wxHexCtrl.cpp
--- wxhexeditor-0.24+repack/src/HexEditorCtrl/wxHexCtrl/wxHexCtrl.cpp   
2025-08-17 07:02:46.000000000 -0400
+++ wxhexeditor-0.24+repack-modified/src/HexEditorCtrl/wxHexCtrl/wxHexCtrl.cpp  
2025-08-17 07:30:20.704944137 -0400
@@ -72,6 +72,12 @@
        //Need to create object before Draw operation.
        ZebraStriping=new int;
        *ZebraStriping=-1;
+       wxString waylandStr;
+
+       waylander = wxGetEnv( "WAYLAND_DISPLAY", &waylandStr );
+
+       if (waylander)
+               std::cout << "Wayland detected. You could have cosmetic cursor 
issues." << std::endl;
CtrlType=0; @@ -654,6 +660,9 @@ #define _Use_Graphics_Contex_x
 void wxHexCtrl::RePaint( void ){
+       if (waylander)
+               return this->Refresh();
+
        PaintMutex.Lock();
        wxCaretSuspend cs(this);
@@ -698,6 +707,7 @@ void wxHexCtrl::OnPaint( wxPaintEvent &WXUNUSED(event) ){
        PaintMutex.Lock();
+       wxCaretSuspend cs(this);
        wxDC* dcTemp = UpdateDC(); // Prepare DC
        if( dcTemp != NULL )
                {
diff -u wxhexeditor-0.24+repack/src/HexEditorCtrl/wxHexCtrl/wxHexCtrl.h 
wxhexeditor-0.24+repack-modified/src/HexEditorCtrl/wxHexCtrl/wxHexCtrl.h
--- wxhexeditor-0.24+repack/src/HexEditorCtrl/wxHexCtrl/wxHexCtrl.h     
2017-12-30 21:15:18.000000000 -0500
+++ wxhexeditor-0.24+repack-modified/src/HexEditorCtrl/wxHexCtrl/wxHexCtrl.h    
2025-08-17 07:23:52.425057574 -0400
@@ -147,6 +147,7 @@
                void OnTagHideAll( void );
                bool *TagMutex;
                int *ZebraStriping;
+               bool waylander;
protected:
                wxDC* UpdateDC( wxDC* dc=NULL);


Best regards,
Adam.


$ dpkg -l mutter* xwayland*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name              Version      Architecture Description
+++-=================-============-============-=============================================
un  mutter            <none>       <none>       (no description available)
ii  mutter-common     48.4-2       all          shared files for the Mutter 
window manager
ii  mutter-common-bin 48.4-2       amd64        shared programs for the Mutter 
window manager
ii  xwayland          2:24.1.6-1   amd64        X server for running X clients 
under Wayland


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

Kernel: Linux 6.12.41+deb13-amd64 (SMP w/3 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 wxhexeditor depends on:
ii  libc6              2.41-12
ii  libdisasm0         0.23-7
ii  libgcc-s1          14.2.0-19
ii  libgomp1           14.2.0-19
ii  libmhash2          0.9.9.9-10
ii  libstdc++6         14.2.0-19
ii  libwxbase3.2-1t64  3.2.8+dfsg-2
ii  libwxgtk3.2-1t64   3.2.8+dfsg-2

wxhexeditor recommends no packages.

wxhexeditor suggests no packages.

-- no debconf information

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to