Opened 15 years ago

Closed 15 years ago

#94 closed enhancement (fixed)

Implement proper modal window handling

Reported by: Dmitry A. Kuminov Owned by:
Priority: blocker Milestone: Qt Beta 4
Component: QtGui Version: 4.5.1 Beta 3
Severity: Keywords:
Cc:

Description

This in particular includes implementing QWidgetPrivate::setModal_sys().

Currently, some applications may show weird behavior (wrong window z-order and even traps). Therefore, a must for Beta 4.

Change History (6)

comment:1 by Silvan Scherrer, 15 years ago

to reproduce it do the following with smplayer:
rename mplayer.exe
start smplayer
load a movie
now you get a messagebox. on this box hit the ShowLog button

for me this crashes in pmmerge.dll

comment:2 by Dmitry A. Kuminov, 15 years ago

Hmm, debug build, no crash here. Could you recheck?

comment:3 by Dmitry A. Kuminov, 15 years ago

Anyway, I improved modality in r288 so that top-level widgets disabled by modal widgets cannot be activated moved and moved by clicking on a title bar with the mouse any more. I couldn't find anything wrong with modality besides this.

What about QWidgetPrivate::setModal_sys(), it seems to be a leftover, it does nothing on all platforms. So did I for OS/2.

comment:4 by Dmitry A. Kuminov, 15 years ago

The crash you mention is not related to modality. It doesn't happen here because I have the Clearlooks theme set in SMPlayer. Setting it back to Default (e.g. Windows) causes the behavior you describe. Investigating.

comment:5 by Dmitry A. Kuminov, 15 years ago

Ok, this is due to layout()->setSizeConstraint(QLayout::SetFixedSize). The Show log action resizes the window to include the log view and this somehow causes a crash. BTW, there is another problem with QLayout::SetFixedSize: windows with this constraint cannot be moved. Will have to fix that too.

comment:6 by Dmitry A. Kuminov, 15 years ago

Resolution: fixed
Status: newclosed

Found and fixed the bug that caused a crash. The bug with fixed size widgets is also fixed. All in r289. Closing this defect; it's irrelevant to these bugs anyway. Silvan, please check if it still crashes for you or not.

Note: See TracTickets for help on using tickets.