View Issue Details

IDProjectCategoryView StatusLast Update
0006198DarkRadiantGUIpublic01.02.2023 05:54
Reporterorbweaver Assigned Toorbweaver  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinuxOSUbuntuOS Version22.04
Product Version3.7.0 
Target Version3.8.0Fixed in Version3.8.0 
Summary0006198: Model Selector widgets are cut off and flicker constantly on Linux
DescriptionGUI elements in the Model Selector flicker and resize constantly while moving and clicking with the mouse, and are often cut off by the window edges, leaving the buttons inaccessible (see screenshot). Sometimes there is an empty black bar along the button of the window.

Seen in Git master and the 3.7.0 FlatPak.
TagsNo tags attached.
Attached Files
modelselector.png (291,418 bytes)

Activities

orbweaver

orbweaver

21.12.2022 21:05

developer   ~0015601

Git bisect (followed by a manual revert to confirm) indicate that this is the commit which introduced the problem. It is not clear why a simple reparent operation would cause flickering GUI elements, unless there is some quirk about how wxGTK handles reparenting.

commit f303f95f030fb1c08e48ea358fce9ccdbceae156 (refs/bisect/bad)
Author: codereader <greebo@angua.at>
Date: Sat Nov 12 19:04:11 2022 +0100

    Make sure the ModelSelector is properly parented.
    
    By the time the instance is constructed the mainframe's top level window is still a nullptr.
orbweaver

orbweaver

10.01.2023 21:05

developer   ~0015750

Fixed in a99bd537c293fc6eba6072bd904d2fcfa4049ad5

Related Changesets

DarkRadiant: master a99bd537

10.01.2023 20:53

orbweaver


Details Diff
0006198: populate ModelSelector after mainframe is constructed

For a reason which isn't clear, the Reparent() call causes problems on
GTK whereby the GUI elements inside the ModelSelector constantly resize
and flicker on mouse motion.

We now avoid the need for a Reparent() altogether by calling Populate()
in response to signal_MainFrameConstructed(), which still allows the
model selector to populate itself but also guarantees that a valid main
frame pointer will be available.
Affected Issues
0006198
mod - radiant/ui/UserInterfaceModule.cpp Diff File
mod - radiant/ui/modelselector/ModelSelector.cpp Diff File

Issue History

Date Modified Username Field Change
20.12.2022 21:12 orbweaver New Issue
20.12.2022 21:12 orbweaver Status new => assigned
20.12.2022 21:12 orbweaver Assigned To => orbweaver
20.12.2022 21:12 orbweaver File Added: modelselector.png
21.12.2022 21:05 orbweaver Note Added: 0015601
10.01.2023 21:05 orbweaver Status assigned => resolved
10.01.2023 21:05 orbweaver Resolution open => fixed
10.01.2023 21:05 orbweaver Fixed in Version => 3.8.0
10.01.2023 21:05 orbweaver Note Added: 0015750
01.02.2023 05:54 orbweaver Changeset attached => DarkRadiant master a99bd537