Project

General

Profile

Bug #10654

TreeList MultiSelect Mode Issues

Added by Vladimir Tsichevski 10 months ago. Updated 10 months ago.

Status:
New
Priority:
Normal
Assignee:
Vladimir Tsichevski
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:
version_reported:
16187
version_resolved:
reviewer:
production:
No
env_name:
topics:

History

#1 Updated by Vladimir Tsichevski 10 months ago

Issue 1: Incorrect Node Selection in MultiSelect Mode

Steps to reproduce:

  1. Expand a node.
  2. Set MultiSelect(FALSE) = TRUE.
  3. Select the expanded node with a mouse click.
  4. Select any child of the expanded node with a Shift-Down.
  • In OpenEdge (OE): The selected node is marked with a dotted rectangle.
  • In FWD: The selected node is marked with a dotted rectangle, but the first child of the expanded node is also incorrectly marked as selected (with a blue background).

Issue 2: Client Crash in MultiSelect Mode

After the above steps:

  1. Set MultiSelect(TRUE) = TRUE.
  2. Select a node range starting with a mouse click.
  3. Select the range end with a Shift-click.

This triggers a client crash with an assertion error in TreeGuiImpl, isSiblingLowerThan method, as isSiblingLowerThan receives two non-sibling nodes.

Note

The client crash (Issue 2) occurs only after the incorrect node selection (Issue 1), suggesting that the first issue likely introduces a state that causes the subsequent crash.

#2 Updated by Greg Shah 10 months ago

By assertion failure, do you mean that our code is intentionally abending (exiting the client session)? This is something that should not be possible. It doesn't matter if the state of a widget is not correct, interacting with a widget should never unexpectedly end the user's session.

SO: I would add a 3rd issue here: eliminate all usage of this assertion/abend pattern.

#4 Updated by Vladimir Tsichevski 10 months ago

Issue 4: Selection Processing on Mouse Up vs. Mouse Down

In OE, a selection change is processed on mouse release. In FWD, it is processed on mouse down.

This causes an issue: in OE, dragging a node does not change the selection. In FWD, dragging a non-focused node (which may indicate another bug) triggers a selection change, behaving as if the node was clicked.

Also available in: Atom PDF