vslavik / poedit

Translations editor for Mac, Windows and Unix
https://poedit.net
MIT License
1.71k stars 274 forks source link

poedit displays the warning icon for all the rows #822

Closed wandrien closed 7 months ago

wandrien commented 7 months ago

OS: Arch Linux poedit version: 3.4.1. I also tried building 3.1.1, same issue. wxwidgets version: 3.2.4

Poedit displays the warning icon for all the rows, no matter if those do have actual warnings or not.

As a workaround, I applied the following fix on my machine:

diff --git a/src/edlistctrl.cpp b/src/edlistctrl.cpp
index 03ebc63ba..1edb5b1e2 100644
--- a/src/edlistctrl.cpp
+++ b/src/edlistctrl.cpp
@@ -411,7 +411,8 @@ void PoeditListCtrl::Model::GetValueByRow(wxVariant& variant, unsigned row, unsi
             else if (d->HasComment())
                 variant << m_iconComment;
             else
-                NULL_ICON(variant);
+                //NULL_ICON(variant);
+                variant << wxNullIcon;
             break;
         }
vslavik commented 7 months ago

As nobody else reported this and Poedit's snap build uses wx-3.1.6+, it is likely to be something about your configuration (specifics of the wxGTK build and GTK+ version used are relevant) or it may be a wx-3.2 thing (such breakage doesn't seem likely, though).

In any case, see the definition of NULL_ICON and the a971725 commit.

If you can narrow it down and submit PR that corrects NULL_ICON correctly for all platforms, I'd appreciate it, otherwise I'll look into it together with other wx-3.2 stuff (see the devel/upgrade-to-wx-3.2 branch).

haaninjo commented 7 months ago

I can reproduce this on Debian testing. All strings get the warning icon, and when running poedit from the commandline, all msgids in the po file are being printed to stdout as well.

Debian version numbers: poedit 3.4.1-1 libwxbase3.2-1 3.2.4+dfsg-1 libwxgtk3.2-1 3.2.4+dfsg-1 libgtk-3-0 3.24.38-6

Asked the Debian maintainer, and he could reproduce the issue on Debian unstable.

vslavik commented 7 months ago

All strings get the warning icon

Probably when there's at least one legitimate showing of it only.

I can reproduce this on Debian testing.

Must be wx 3.2 related, then, thanks for the confirmation.

and when running poedit from the commandline, all msgids in the po file are being printed to stdout as well

Thanks, but please don't make a mess: one issue is strictly for one thing, not a bunch of random unrelated ones, and also 1c1f336

vslavik commented 7 months ago

Reproduced on Fedora 39 (wx-3.2) too.

vslavik commented 7 months ago

This seems to be a regression in wxGTK 3.2.4, but until I can properly investigate it and fix there, and until Poedit requires wx-3.2.5+, I'm applying what is essentially a full-scope version of @wandrien's hotfix. Thanks!