View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0004846||DarkRadiant||GUI||public||23.06.2018 06:04||05.09.2021 18:21|
|Target Version||2.12.0||Fixed in Version||2.12.0|
|Summary||0004846: Rotation widget does not re-center on selected object|
|Description||I've experienced this annoying bug a lot, where, upon using the Arbitrary Transformation dialogue, the object I have will not get rotated around its center/origin. When pressing R, I can see that the rotation widget is centered somewhere else on the grid. When I rotate with the rotation widget, it will still rotate around that wrong point, but then the widget will snap back to the object's center/origin.|
I think the rotation widget gets set to the origin of some previous, selected object, but then doesn't update when you select a new one. Just a hunch.
|Steps To Reproduce||I've held off on reporting this bug since I don't have clear reproduction steps, but it happens often during the course of regular work with DR. I keep "Rotate func_* entities around origin" on, "Rotate Objects Independently" off. "Snap Pivot to Grid" doesn't make a difference, I believe. This happens with both brushes and entities.|
greebo: I found these steps to reproduce the problem:
- Add a model to the map
- Select that object
- Switch to Translate Mode (W)
- Move the object with the mouse and cancel the operation before letting the button go (ESC)
- The pivot is now where the mouse was positioned by the time ESC was hit
- Problem 1: Switching between Manipulators (Rotate, Translate) will not restore the pivot point
- Problem 2: Changing the selection will not restore the pivot to where it should be either
|Additional Information||This has been present since 2.5.0 for sure, do not remember if it was in 2.4.0.|
|Tags||No tags attached.|
I've heard of that phenomenon before, it seems it's not that easy to repro. Does it happen reliably when working on your maps?
It's good that you included information about your rotation preference settings, that definitely does help in narrowing it down.
|It happens pretty reliably if I'm ever working on a lot of cloning func statics and brushes. I also use grouping a lot, so this may play a role in it.|
I've just experienced the bug again. Let me try to describe the conditions under which it happened, perhaps this will help to narrow it down.
My active layer was Layer A.
I cloned a func_static in Layer B and I moved it.
I then cloned a func_static that was on Layer C and rotated it with the Arbitrary Transformation dialogue.
It flew off. When I pressed R, I saw that the rotation widget was still stuck on the origin of the cloned-and-moved func_static from Layer B.
My rotation settings were still as stated in the original bug report. Snap Pivot to grid was off. I have more than 3 layers, some were hidden, and those particular ones are not in sequential order.
|I could finally repro this by cancelling a mouse operation, I'll update the repro steps in the description|
DarkRadiant: master 89e5a1c5
|0004846: Fix the manipulation pivot being stuck in a position when the user cancels the move, preventing it from recalculating its position on selection change or even changing the manipulator.||
|mod - radiantcore/selection/ManipulationPivot.cpp||Diff File|
|mod - radiantcore/selection/ManipulationPivot.h||Diff File|
|mod - radiantcore/selection/RadiantSelectionSystem.cpp||Diff File|
DarkRadiant: master bb8ce4db
|0004846: Construct a unit test asserting that the pivot is properly reset on canceling the operation||
|mod - test/Selection.cpp||Diff File|
|23.06.2018 06:04||Spooks||New Issue|
|24.06.2018 05:59||greebo||Note Added: 0010571|
|24.06.2018 05:59||greebo||Status||new => acknowledged|
|25.06.2018 06:59||Spooks||Note Added: 0010586|
|27.06.2018 21:22||Spooks||Note Added: 0010594|
|30.01.2021 07:00||greebo||Status||acknowledged => confirmed|
|30.01.2021 07:00||greebo||Note Added: 0013571|
|30.01.2021 07:11||greebo||Steps to Reproduce Updated|
|30.01.2021 07:11||greebo||Relationship added||related to 0005267|
|05.02.2021 04:02||greebo||Assigned To||=> greebo|
|05.02.2021 04:02||greebo||Status||confirmed => assigned|
|05.02.2021 04:02||greebo||Target Version||=> 2.12.0|
|05.02.2021 04:03||greebo||Changeset attached||=> DarkRadiant master 89e5a1c5|
|05.02.2021 04:33||greebo||Changeset attached||=> DarkRadiant master bb8ce4db|
|05.02.2021 04:33||greebo||Status||assigned => resolved|
|05.02.2021 04:33||greebo||Resolution||open => fixed|
|05.02.2021 04:33||greebo||Fixed in Version||=> 2.12.0|
|05.02.2021 04:34||greebo||Relationship replaced||has duplicate 0005267|
|05.09.2021 18:21||greebo||Status||resolved => closed|