Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • D dtk-widgets
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 17
    • Issues 17
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • dtkdtk
  • dtk-widgets
  • Issues
  • #67
Closed
Open
Issue created Sep 23, 2020 by LACROIX Romain@rlacroixContributor

Multiple menu bars is not correctly supported

To support multiple menu bars, the variable QList<dtkWidgetsMenu *> stack must be a member of the MenuBar class, it can not be a static / global variable shared between all menu bars, otherwise this crash will happen:

With Gnomon at commit 7d1dc20470f5a33c281529ae63b2bdf9b7589428 or later (either in branch feature/menu-improvements or in branch develop if merged), do these actions

[1] In the PlantGL panel, expand the sub-menu File/Open of the menu bar

[2] In the Code panel, click on the file icon to expand its menu, then click the file icon again to collapse its menu

It crashes here because the shared stack variable is empty but it is expected to not be empty.

We propose the following fix: have the stack variable be a member of the MenuBar class.

Edited Sep 23, 2020 by LACROIX Romain
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking