Results 1 to 3 of 3

Thread: menu Bar display bug under mac osx 10.10 Yosemite

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Oct 2013
    Posts
    3
    Qt products
    Qt4
    Platforms
    MacOS X Windows

    Default menu Bar display bug under mac osx 10.10 Yosemite

    I'm testing a preexisting shipping Qt application in Apple's new Yosemite osx 10.10 developer golden master release that is built using the Qt 4.6 framework.

    There is a cosmetic bug associated with the main menu bar now when running this Qt based app on the Yosemite golden master release.
    If you run a modal dialog, then after you finish with the modal dialog and close it, the main mac menu bar at the top of the screen stays hidden. The normal behavior is that it vanishes while the modal dialog is up, and then returns to view after the modal dialog is finished.

    So, i tried a simple fix, where i call
    menuBar()->update();
    after the modal dialog is finished.

    This fixes the cosmetic problem.
    Until you run one of the standard file dialogs, like
    QFileDialog::getOpenFileName()

    While the standard file dialogs are modal, they are different than a normal Qt modal dialog on the mac in that the menu bar stays visible at the top of the screen. And they basically just call the mac's own standard file dialogs as opposed to running some Qt modal dialog window.

    After you run any of the standard file dialogs, then the simple fix i mentioned above no longer works.
    The main menu bar items stay hidden after the modal dialog is finished. Even after using the simple fix, which does work until you run one of the standard file dialogs.

    Now if you click the mouse in the main menu bar, then the menus appear in view.
    but obviously i need to figure out a way to fix this issue completely.

    Does anyone have any idea what is going on, and how to fix this bug?

    I really need to stay with the older version of the Qt frameworks we are using for this existing application.
    So i need to figure out a way to solve the problem.
    Obviously running the standard file dialogs does something that permanently from that point on prevents the menuBar update call from working after they are run.

    It would seem like other existing Qt applications are going to run into this issue as well.
    Any suggestions or help on fixing this issue would be greatly appreciated.
    Both for me, and for other people running the 4.6 frameworks on their pre-existing Qt based applications on osx 10.10 Yosemite.

  2. #2
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,364
    Thanks
    3
    Thanked 5,012 Times in 4,791 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: menu Bar display bug under mac osx 10.10 Yosemite

    Does it work properly on system releases older than 10.10?
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  3. #3
    Join Date
    Oct 2013
    Posts
    3
    Qt products
    Qt4
    Platforms
    MacOS X Windows

    Default Re: menu Bar display bug under mac osx 10.10 Yosemite

    Yes, the Qt 4.6 based application works fine in all apple osx releases prior to osx 10.10 Yosemite. So something changed in Yosemite that is messing up the menu bar refresh after you run a modal dialog.
    And as i said, if you just run normal Qt modal dialogs, then you can fix it by just manually calling menuBar()->update() after running the modal dialog. Then the menu bar reappears after the modal dialog is closed.

    I thought that had fixed it with that until i noticed that after your run any of the standard file dialogs, like QFileDialog::getOpenFileName(),
    then that fix no longer works. So running that QFileDialog::getOpenFileName() call changes the state of something, so even when you call menuBar()->update() after closing a normal Qt modal dialog, the menu bar still doesn't reappear until the user actually clicks the menu bar.

    Is there a way in Qt 4.6 to not have a modal menu dialog make the menu bar vanish, but instead do what QFileDialog::getOpenFileName() does? Because that would probably fix it by making the problem not happen.
    Or is there something else i need to do after calling QFileDialog::getOpenFileName() to change focus or something so that menuBar()->update() will actually redisplay the menu bar after closing a normal Qt modal dialog.

Similar Threads

  1. OS X Yosemite, iOS 8 and Xcode 6
    By guidupas in forum Qt Programming
    Replies: 0
    Last Post: 16th June 2014, 23:28
  2. Replies: 1
    Last Post: 4th November 2011, 11:25
  3. Display sql table menu in a tree view
    By mat.brighi in forum Newbie
    Replies: 2
    Last Post: 18th October 2011, 23:49
  4. Tray context menu display issue
    By r2hubert in forum Qt Programming
    Replies: 1
    Last Post: 7th July 2008, 20:15
  5. Action on menu to display ui
    By jochen_r in forum Newbie
    Replies: 10
    Last Post: 10th January 2006, 10:10

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.