View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0006115 | DarkRadiant | Map Editing | public | 02.10.2022 12:04 | 13.01.2024 05:32 |
| Reporter | greebo | Assigned To | greebo | ||
| Priority | normal | Severity | normal | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 3.3.0 | ||||
| Target Version | 3.4.0 | Fixed in Version | 3.4.0 | ||
| Summary | 0006115: Selecting and deselecting a filtered child brush through layers leaves the brush selected | ||||
| Description | - Open the attached map filtered_layers.mapx - It has two worldspawn brushes and two func_static entities with one brush each - Two brushes have caulk on them, the other two a shadow texture - Enable the Caulk filter to hide the caulk-textured brushes, they will disappear from the view - Open the layer control dialog (Ctrl-L) and double-click the Caulk layer - One of the caulk brushes re-appears (forced-visible) - Hit Shift-Double-click to de-select, now the brush disappears, but the selection outline is staying behind - The brush is still selected somewhere, as the status bar indicates | ||||
| Tags | No tags attached. | ||||
| Attached Files | filtered_layers.mapx (9,463 bytes)
<?xml version="1.0" encoding="utf-8"?>
<map version="1" format="portable">
<layers>
<layer id="0" name="Default" parentId="-1"/>
<layer id="1" name="Caulk" parentId="0"/>
<layer id="2" name="Shadow" parentId="0"/>
</layers>
<selectionGroups/>
<selectionSets/>
<properties>
<property key="EditTimeInSeconds" value="568"/>
<property key="LastCameraAngle" value="-29.4 46.5 0"/>
<property key="LastCameraPosition" value="1029.94 -936.608 1289.73"/>
<property key="LastShaderClipboardMaterial" value="textures/darkmod/map_specific/church/stair_blocks_01"/>
</properties>
<entity number="0">
<primitives>
<brush number="0">
<faces>
<face>
<plane x="0" y="0" z="1.000000" d="-256.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="-20.000000"/>
<material name="textures/common/caulk"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="0" y="1.000000" z="0" d="-1792.000000"/>
<textureProjection xx="0.015625" yx="0" tx="16.000000" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/caulk"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="1.000000" y="0" z="0" d="-3072.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/caulk"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="0" y="0" z="-1.000000" d="-768.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="16.000000"/>
<material name="textures/common/caulk"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="0" y="-1.000000" z="0" d="768.000000"/>
<textureProjection xx="0.015625" yx="0" tx="-16.000000" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/caulk"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="-1.000000" y="0" z="0" d="1536.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/caulk"/>
<contentsFlag value="0"/>
</face>
</faces>
<layers>
<layer id="1"/>
</layers>
<selectionGroups/>
<selectionSets/>
</brush>
<brush number="1">
<faces>
<face>
<plane x="0" y="0" z="1.000000" d="-256.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="-20.000000"/>
<material name="textures/common/shadow"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="0" y="1.000000" z="0" d="-512.000000"/>
<textureProjection xx="0.015625" yx="0" tx="16.000000" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/shadow"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="1.000000" y="0" z="0" d="-3072.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/shadow"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="0" y="0" z="-1.000000" d="-768.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="16.000000"/>
<material name="textures/common/shadow"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="0" y="-1.000000" z="0" d="-512.000000"/>
<textureProjection xx="0.015625" yx="0" tx="-16.000000" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/shadow"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="-1.000000" y="0" z="0" d="1536.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/shadow"/>
<contentsFlag value="0"/>
</face>
</faces>
<layers>
<layer id="2"/>
</layers>
<selectionGroups/>
<selectionSets/>
</brush>
</primitives>
<keyValues>
<keyValue key="classname" value="worldspawn"/>
</keyValues>
<layers>
<layer id="0"/>
</layers>
<selectionGroups/>
<selectionSets/>
</entity>
<entity number="1">
<primitives>
<brush number="0">
<faces>
<face>
<plane x="0" y="0" z="1.000000" d="-512.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="-52.000000"/>
<material name="textures/common/caulk"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="0" y="1.000000" z="0" d="-512.000000"/>
<textureProjection xx="0.015625" yx="0" tx="48.000000" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/caulk"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="1.000000" y="0" z="0" d="-768.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/caulk"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="0" y="0" z="-1.000000" d="-512.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="48.000000"/>
<material name="textures/common/caulk"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="0" y="-1.000000" z="0" d="-512.000000"/>
<textureProjection xx="0.015625" yx="0" tx="-48.000000" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/caulk"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="-1.000000" y="0" z="0" d="-768.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/caulk"/>
<contentsFlag value="0"/>
</face>
</faces>
<layers>
<layer id="1"/>
</layers>
<selectionGroups/>
<selectionSets/>
</brush>
</primitives>
<keyValues>
<keyValue key="classname" value="func_static"/>
<keyValue key="name" value="func_static_1"/>
<keyValue key="model" value="func_static_1"/>
<keyValue key="origin" value="4352 1280 -256"/>
</keyValues>
<layers>
<layer id="1"/>
</layers>
<selectionGroups/>
<selectionSets/>
</entity>
<entity number="2">
<primitives>
<brush number="0">
<faces>
<face>
<plane x="0" y="0" z="1.000000" d="-512.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="-52.000000"/>
<material name="textures/common/shadow"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="0" y="1.000000" z="0" d="-512.000000"/>
<textureProjection xx="0.015625" yx="0" tx="48.000000" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/shadow"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="1.000000" y="0" z="0" d="-768.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/shadow"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="0" y="0" z="-1.000000" d="-512.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="48.000000"/>
<material name="textures/common/shadow"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="0" y="-1.000000" z="0" d="-512.000000"/>
<textureProjection xx="0.015625" yx="0" tx="-48.000000" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/shadow"/>
<contentsFlag value="0"/>
</face>
<face>
<plane x="-1.000000" y="0" z="0" d="-768.000000"/>
<textureProjection xx="0.015625" yx="0" tx="0" xy="0" yy="0.015625" ty="0"/>
<material name="textures/common/shadow"/>
<contentsFlag value="0"/>
</face>
</faces>
<layers>
<layer id="2"/>
</layers>
<selectionGroups/>
<selectionSets/>
</brush>
</primitives>
<keyValues>
<keyValue key="classname" value="func_static"/>
<keyValue key="name" value="func_static_2"/>
<keyValue key="model" value="func_static_2"/>
<keyValue key="origin" value="4352 0 -256"/>
</keyValues>
<layers>
<layer id="2"/>
</layers>
<selectionGroups/>
<selectionSets/>
</entity>
</map>
| ||||
|
DarkRadiant: master 2e9bf879 02.10.2022 13:17 Details Diff |
0006115: Add unit test covering the faulty behaviour |
Affected Issues 0006115 |
|
| mod - test/LayerManipulation.cpp | Diff File | ||
|
DarkRadiant: master 7f7010af 02.10.2022 13:20 Details Diff |
0006115: Apply a fix to SetLayerSelectedWalker When de-selecting layered items the visibility check can be omitted. |
Affected Issues 0006115 |
|
| mod - radiantcore/layers/SetLayerSelectedWalker.h | Diff File | ||
|
DarkRadiant: master 6ad290d8 02.10.2022 16:59 Details Diff |
0006115: Added missing file |
Affected Issues 0006115 |
|
| add - test/resources/tdm/maps/selecting_filtered_items_with_layers.mapx | Diff File | ||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 02.10.2022 12:04 | greebo | New Issue | |
| 02.10.2022 12:04 | greebo | File Added: filtered_layers.mapx | |
| 02.10.2022 12:04 | greebo | File Added: grafik.png | |
| 02.10.2022 12:04 | greebo | Status | new => confirmed |
| 02.10.2022 12:07 | greebo | Assigned To | => greebo |
| 02.10.2022 12:07 | greebo | Status | confirmed => assigned |
| 02.10.2022 13:18 | greebo | Target Version | => 3.4.0 |
| 02.10.2022 13:18 | greebo | Summary | Filtered Items can stay selected through layering system => Selecting and deselecting a filtered child brush through layers leaves the brush selected |
| 02.10.2022 13:20 | greebo | Changeset attached | => DarkRadiant master 2e9bf879 |
| 02.10.2022 13:20 | greebo | Changeset attached | => DarkRadiant master 7f7010af |
| 02.10.2022 13:21 | greebo | Status | assigned => resolved |
| 02.10.2022 13:21 | greebo | Resolution | open => fixed |
| 02.10.2022 13:21 | greebo | Fixed in Version | => 3.4.0 |
| 02.10.2022 17:00 | greebo | Changeset attached | => DarkRadiant master 6ad290d8 |
| 13.01.2024 05:32 | greebo | Status | resolved => closed |