View Issue Details

IDProjectCategoryView StatusLast Update
0005082DarkRadiantGUIpublic08.11.2020 18:36
ReporterDragofer Assigned Togreebo  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
OSWindowsOS Version10 
Product Version2.6.0 
Target Version2.7.0Fixed in Version2.7.0 
Summary0005082: Layers window: first click after opening isn't registered properly
DescriptionI usually have a long list of layers. When I open up the layers window (ctrl-L) I often start with scrolling the list. However, if I click anywhere else in DR before clicking on something in the layers window the list scrolls back up and the click doesn't register properly in the layers window.
Steps To ReproduceIn a map with multiple layers:
1) Open up the layers window
2) Hover the cursor over the layers window and scroll down via mousewheel (the bug doesn't seem to occur without this step)
3) Click somewhere else in DR outside of the layers window, i.e. drag orthoview
4) Click anywhere within the layers window, can also be on empty space.

The layers window will jump upwards and the click didn't do anything else other than highlight what you just clicked on.
TagsNo tags attached.

Relationships

related to 0004089 closedgreebo When clicking on the Layer Control Dialog, the scroll bar jumps to the bottom 

Activities

greebo

greebo

29.12.2019 10:06

administrator   ~0011961

Hm, my Layers Window does not do this. I have an empty map though, maybe I need to have a different map file?
Can you give me more infos about what item you click? I tried with the layer name as well as the visibility check mark and the edit/rename buttons - no scroll jump.
Maybe you can have a look at the empty map I attached?
greebo

greebo

29.12.2019 10:07

administrator  

test_many_layers.7z (393 bytes)
Dragofer

Dragofer

29.12.2019 11:21

developer   ~0011967

My bad, I used some downtime yesterday to finally report this without actually being at a PC to test my reproduction steps. That's actually quite important before reporting. The correct procedure is actually:

1) Open up the layers window
2) Hover the cursor over the layers window and scroll down via mousewheel (the bug doesn't seem to occur without this step)
3) Click somewhere else in DR outside of the layers window, i.e. drag orthoview
4) Click anywhere within the layers window, can also be on empty space.
The layers window will jump upwards and the click didn't do anything else other than highlight what you clicked on.

This is on DR v2.6 and v2.7 and using your attached test map.
I've experienced this quite often
Dragofer

Dragofer

29.12.2019 11:26

developer   ~0011968

*I've experienced this quite often because I tend to start with opening my layers window and zoom in on the area of interest whenever I start a new session in DR or move to work on a different area of the map.
greebo

greebo

29.12.2019 15:23

administrator   ~0011979

Thanks, I can reproduce this now with the steps you provided. I guess it's related to the focus widget, when scrolling around the focus still stays on the first Default layer button, and it appears it tries to bring this focus widget into view when the window is activated again.
greebo

greebo

30.12.2019 06:21

administrator   ~0011981

Luckily, wxWidgets 3.1.3 introduced a new virtual base class method in wxScrolledWindow, which can be used to override the default behaviour of focusing the child widget. DR now makes use of this when the appropriate wxWidgets version is available. => Fixed in 84a966f8a

Related Changesets

DarkRadiant: master 6d2a3c30

2019-12-30 07:05:56

greebo

Details Diff
To resolve 0005082, subclass wxScrolledWindow and override the wxWidgets 3.1.3+ method ShouldScrollToChildOnFocus(). Settings this to false will prevent the scroll-jump-behaviour in the LayerControlDialog. Affected Issues
0005082
add - libs/wxutil/ScrollWindow.h Diff File
mod - radiant/ui/layers/LayerControlDialog.cpp Diff File
mod - tools/msvc/wxutillib.vcxproj Diff File
mod - tools/msvc/wxutillib.vcxproj.filters Diff File

Issue History

Date Modified Username Field Change
29.12.2019 01:06 Dragofer New Issue
29.12.2019 09:54 greebo Status new => acknowledged
29.12.2019 10:06 greebo Status acknowledged => feedback
29.12.2019 10:06 greebo Note Added: 0011961
29.12.2019 10:07 greebo File Added: test_many_layers.7z
29.12.2019 11:21 Dragofer Note Added: 0011967
29.12.2019 11:21 Dragofer Status feedback => new
29.12.2019 11:26 Dragofer Note Added: 0011968
29.12.2019 11:33 Dragofer Description Updated View Revisions
29.12.2019 11:33 Dragofer Steps to Reproduce Updated View Revisions
29.12.2019 15:23 greebo Status new => confirmed
29.12.2019 15:23 greebo Note Added: 0011979
29.12.2019 15:25 greebo Relationship added related to 0004089
30.12.2019 06:20 greebo Assigned To => greebo
30.12.2019 06:20 greebo Status confirmed => assigned
30.12.2019 06:20 greebo Target Version => 2.7.0
30.12.2019 06:21 greebo Status assigned => resolved
30.12.2019 06:21 greebo Resolution open => fixed
30.12.2019 06:21 greebo Fixed in Version => 2.7.0
30.12.2019 06:21 greebo Note Added: 0011981
09.01.2020 19:25 greebo Changeset attached => DarkRadiant master 6d2a3c30
08.11.2020 18:36 greebo Status resolved => closed