Wireshark-dev: [Wireshark-dev] Glitches in UI when using recent buildbot development versions

From: Jim Young <jim.young.ws@xxxxxxxxx>
Date: Fri, 28 Jun 2019 12:11:38 -0400
Hello,

I almost exclusively run development versions of Wireshark when doing my day to day troubleshooting tasks and I typically (but not always) do the analysis on a macOS system.

I've stumbled into some weird UI glitches when running with very recent buildbot development releases on my macOS system.  I first noticed the issue with Wireshark 3.1.0rc0-1151-ga7052d4ea9f6 but still see issues with most recent Wireshark 3.1.0rc0-1162-g41d0cf732054. 

I've been unable to reproduce the UI glitches below with earlier development Version 3.1.0rc0-1125-g263969168747.

The first glitch has to do with "Apply as filter".  With this glitch I had right-mouse selected the tcp.stream field and then selected the Apply as filter.  But instead an unexpected display filter was applied.  I thought I had mis-clicked on the packet details items so I tried again but had the same results.  I then expanded the frame tree and right-mouse clicked on frame.interface_id followed by Apply as filter but again the wrong filter was entered into the display filter field.  At this point I opted to shutdown and restart Wireshark since this particular instance of Wireshark had been running for perhaps day or two and I had captured and opened numerous trace files. 

After restarting Wireshark I tried to recreate the display filter issue but exposed a second UI glitch.  This second UI glitch is easy to reproduce.  With this second UI glitch I see a transparent outline of the pop-up context widow but with no visible menu items.  It's like I looking through a piece of transparent glass where I can see refraction at the edges of the pop-up window.  As I move my cursor over the pop-up menu window, the various selectable menu items get painted, but the background of the pop-up menu and the group separators of the menu remain transparent.  Once in this mode I have to restart Wireshark to get out of it.

It feels like it might be some type of race condition or interaction with hovering, highlighting and selecting.  Wireshark has a highly reactive UI feature in that it reacts in almost real time to highlight (in light blue text) the item under the current mouse pointer location.

I'm able to trigger the transparent pop-up window by selecting a frame in the packet list (regular click).  At this point the selected row is highlighted in a darker blue.  I then open the context menu for the selected frame (right-mouse click). Without selecting any context menu item I move the mouse cursor over another record in the packet list.  At this point the context menu is still open and the row under the mouse cursor is NOT highlighted.  A regular click will close the original context menu.  If I do NOT move the mouse cursor the record under the cursor will NOT be high-lighted in light-blue indicating the current mouse cursor location.  If I right-mouse click in this state, the transparent context menu will appear.  This glitch can be triggered independently for the context menus for packet list and packet details and the hex view.

Another issue that I have been unable to reproduce reliably is that occasionally two records will appear highlighted in the light-blue highlighting that one would expect at most one. I suspect (but have not definitely confirmed) that this (sometimes) happens when I've move focus away Wireshark to another application and then back to Wireshark.

I'll plan to submit a bug report (or two) about these UI glitches sometime Saturday if still present with the latest master head.  I just wanted to get these glitches quickly reported in case someone might have a clue about any recent changes that might trigger these and perhaps is able to commit a quick solution.

Jim Y.