Skip to content

Drag interruption prevents paneDragEnd/layoutChange from firing #132

Description

@RivaIvanova

Description

A customer reported that a pane drag operation can leave the Dock Manager in an inconsistent state when the drag is interrupted before completing normally.

One reproducible scenario is to start dragging a pane, then open the browser context menu while the left mouse button is still held down. After the mouse buttons are released and the context menu is closed, the drag appears finished from the user's perspective, but the Dock Manager does not complete its internal drag lifecycle.

This can impact applications that persist or synchronize layout state based on Dock Manager events.

  • version: 2.1.3
  • browser: NA

Steps to reproduce

  1. Create a layout with at least one floating pane.
  2. Press and hold the left mouse button on the floating pane header.
  3. Start dragging the pane.
  4. While still holding the left mouse button, right-click to open the browser context menu.
  5. Release both mouse buttons.
  6. Dismiss the context menu.
  7. Observe the emitted events and drag state.

Result

After the drag operation is interrupted:

  • paneDragEnd is not fired.
  • layoutChange is not fired.
  • The internal isDragging flag remains true.
  • Applications that rely on layoutChange to persist or synchronize layout information can become out of sync with the actual layout state.

Expected result

The events are emitted.

Attachments

DockManagerDragDemo.zip

Image

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions