Opened 10 years ago

Closed 10 years ago

#94 closed enhancement (fixed)

Implement proper modal window handling

Reported by: dmik Owned by:
Priority: blocker Milestone: Qt Beta 4
Component: QtGui Version: 4.5.1 Beta 3
Severity: Keywords:


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 Changed 10 years ago by diver

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 Changed 10 years ago by dmik

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

comment:3 Changed 10 years ago by dmik

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 Changed 10 years ago by dmik

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 Changed 10 years ago by dmik

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 Changed 10 years ago by dmik

  • Resolution set to fixed
  • Status changed from new to closed

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.