Opened 6 years ago

Closed 21 months ago

Last modified 21 months ago

#11732 closed Bug report (wontfix)

menu bar icons - wrong ones shown

Reported by: Ross Owned by:
Priority: normal Component: FileZilla Client
Keywords: menu bar icon Cc:
Component version: Operating system type: Windows
Operating system version: Win 7 x 64


After several days of continued OS operation, and sleeps, the main menu icon bar, puts he wrong icons up. see attached example. the close and reconnect server buttons, has the setup icon by mistake.

Attachments (2)

fz-icon.png (14.7 KB ) - added by Ross 6 years ago.
screen grab showing wrong icons
filezilla-icons.png (14.7 KB ) - added by Ross 22 months ago.

Download all attachments as: .zip

Change History (12)

by Ross, 6 years ago

Attachment: fz-icon.png added

screen grab showing wrong icons

comment:1 by Tim Kosse, 6 years ago

Which version are you using?

comment:2 by Ross, 6 years ago

3.36.0 - latest I think.

I saw this behavior first appear about 18 months ago.. in older versions. It vanished, but now reappeared.

comment:3 by Ross, 6 years ago

FileZilla Client

Version: 3.36.0

Build information:

Compiled for: x86_64-w64-mingw32
Compiled on: x86_64-pc-linux-gnu
Build date: 2018-08-27
Compiled with: x86_64-w64-mingw32-gcc (GCC) 6.3.0 20170516
Compiler flags: -g -O2 -Wall

Linked against:

wxWidgets: 3.0.5
SQLite: 3.22.0
GnuTLS: 3.5.18

Operating system:

Name: Windows 7 (build 7601, Service Pack 1), 64-bit edition
Version: 6.1
Platform: 64-bit system
CPU features: sse sse2 sse3 ssse3 sse4.1 sse4.2 avx avx2 aes pclmulqdq rdrnd bmi2 bmi2
Settings dir: C:\Users\<top secret>\AppData\Roaming\FileZilla\

by Ross, 22 months ago

Attachment: filezilla-icons.png added

comment:4 by Ross, 22 months ago

4 years later... the error returns. Similar conditions. See new attachment.

Latest FZ version on Win 10.

Program was running for several days, sitting idle in the toolbar, including several OS sleep cycles.

Brought FZ back to the fore and connected to site, moved some files around, and went to disconnect and found the messed up toolbar icons.

comment:5 by Tim Kosse, 22 months ago

Status: newmoreinfo

What is your graphics card vendor?

comment:6 by Ross, 22 months ago

Status: moreinfonew

Its a dell laptop 7420. Inbuilt Intel graphics. 4 years ago it was an older Dell model.

comment:7 by Tim Kosse, 21 months ago

Resolution: wontfix
Status: newclosed

Intel graphics and toolbars, something is wrong there on the driver level. See e.g. #4968
We never had any similar reports from users of non-Intel graphics.

Unfortunately this is not something we can reproduce, let alone fix.

Best you can do is upgrade your drivers, and if the issue persists, install a dedicated non-Intel graphics card.

comment:8 by Ross, 21 months ago

That's a rather lazy and nonsense answer. Are you suggesting that Intel has somehow singled out your app for the crazy treatment? Do you really think Intel made such a basic mistake in a driver loaded into its own chips, installed in millions of laptops of the most popular brand.... a mistake that is reported in two different sets of hardware models spaced 4 years apart, a mistake that only affects your application?

The video driver does not know or select the icon to be drawn, or in this case, to be redrawn. That's the job of your app code, and the list of icon images you supply and load as a resource to memory, and the indexing of each in the window repaint.

As a wild guess, I would say your code has corrupted or overwritten the image index to be used for each icon. After several days, where the memory is likely remapped, the image index gets set to a random value or overwritten by errors in your code. But what would I know... just a lonely programmer.

comment:9 by Tim Kosse, 21 months ago

Toolbars on modern operating systems are rendered by the graphics card. The operating system takes the program-supplied image data, and with the help of the graphics driver converts it into a texture, adds some shaders for effects and hands it off to the graphics card. There's certainly caching involved at various steps, texture conversion and shader compilation are expensive tasks after all.

Here's a fun toolbar issue I ran across macOS a while ago that illustrates what happens: With the program set to some languages, toolbar icons were corrupted. Turns out that macOS was on-the-fly putting together some shader program from the image to be compiled for the graphics card. Doing so, it was however printing floating point numbers in a locale-specific format. Dot vs. comma as decimal separator, resulting in a malformed program that cannot be compiled. The toolbar afterwards displaying garbage, probably uninitialized memory.

Do you really think Intel made such a basic mistake in a driver loaded into its own chips, installed in millions of laptops of the most popular brand.... a mistake that is reported in two different sets of hardware models spaced 4 years apart, a mistake that only affects your application?

Aurora Borealis? At this time of year, at this time of day, in this part of the country, localized entirely within your kitchen?


Joke aside, within one vendor, graphics drivers share a lot of code between different hardware generations. As programmer you should also know that some bugs require very specific triggers. Could be anything, from calls made in a specific order and timing, to the image data or its hash containing a specific bit pattern.

Issues like this definitely affect other programs as well, see for example this:

comment:10 by Ross, 21 months ago

You have not made a compelling argument.

I just downloaded your source and poked around, and I see it uses the third party library called wxWidgets for the GUI. Your program hands off all the graphical tool bar drawing and visual state changes to wxWidgets to be drawn. You failed to mention that.

Now, for you to be suggesting that wxWidgets drawing routines is operating in perfection and that Intel is somehow at fault ... is a stretch of reality.

But I will grant you that this toolbar icon drawing bug is beyond your control.

Note: See TracTickets for help on using tickets.