VirtualBox

Changeset 55986 in vbox for trunk/src


Ignore:
Timestamp:
May 20, 2015 7:43:19 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
100495
Message:

FE/Qt: 7848: Fixing potential crash: Clear chooser-pane-item from 'current' and 'focused' flags earlier if possible (s.a. r100494).

Location:
trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserHandlerMouse.cpp

    r52730 r55986  
    109109                        /* Move focus to clicked item: */
    110110                        model()->setFocusItem(pClickedItem);
     111                        model()->makeSureSomeItemIsSelected();
    111112                    }
    112113                    /* Was no modifiers pressed? */
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp

    r55417 r55986  
    278278{
    279279    /* Call for wrapper above: */
    280     setCurrentItems(QList<UIGChooserItem*>() << pItem);
     280    QList<UIGChooserItem*> items;
     281    if (pItem)
     282        items << pItem;
     283    setCurrentItems(items);
     284
    281285    /* Move focus to current-item: */
    282286    setFocusItem(currentItem());
     
    344348}
    345349
    346 void UIGChooserModel::notifyCurrentItemChanged()
     350void UIGChooserModel::makeSureSomeItemIsSelected()
    347351{
    348352    /* Make sure selection item list is never empty
     
    350354    if (!currentItem() && focusItem())
    351355        setCurrentItem(focusItem());
     356}
     357
     358void UIGChooserModel::notifyCurrentItemChanged()
     359{
    352360    /* Notify listeners about selection change: */
    353361    emit sigSelectionChanged();
     
    14931501    if (iResultCode == AlertButton_Cancel)
    14941502        return;
     1503
     1504    /* Unset current item(s): */
     1505    unsetCurrentItem();
    14951506
    14961507    /* For every selected item: */
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h

    r55401 r55986  
    124124    void addToCurrentItems(UIGChooserItem *pItem);
    125125    void removeFromCurrentItems(UIGChooserItem *pItem);
     126    void makeSureSomeItemIsSelected();
    126127    void notifyCurrentItemChanged();
    127128    bool isSingleGroupSelected() const;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette