View Issue Details

IDProjectCategoryView StatusLast Update
0006115DarkRadiantMap Editingpublic13.01.2024 05:32
Reportergreebo Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityalways
Status closedResolutionfixed 
Product Version3.3.0 
Target Version3.4.0Fixed in Version3.4.0 
Summary0006115: 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

TagsNo 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>
filtered_layers.mapx (9,463 bytes)   
grafik.png (115,244 bytes)   
grafik.png (115,244 bytes)   

Activities

Related Changesets

DarkRadiant: master 2e9bf879

02.10.2022 13:17

greebo


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

greebo


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

greebo


Details Diff
0006115: Added missing file Affected Issues
0006115
add - test/resources/tdm/maps/selecting_filtered_items_with_layers.mapx Diff File

Issue History

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