Log In
New Account
Home My Page Projects Blender 2.x BF release
Summary Activity Tracker SCM Files

Blender 2.6 Bug Tracker: Browse

[#22477] closing window during playback freezes UI in fullscreen mode

Date:
2010-06-01 15:51
Priority:
3
State:
Closed
Submitted by:
Peter Traylor (traylorpark)
Assigned to:
Damien Plisson (damien78)
Category:
Interface
Status:
Fixed / Closed
Relates to:
Duplicates:
Patches:
 
Summary:
closing window during playback freezes UI in fullscreen mode
Detailed description
Default startup .blend file will work just fine.

Closing a Blender window, while an animation is running and in fullscreen mode causes the Blender UI to freeze.

- Open the default scene, go into Full Screen mode.
- Press Alt + A to start animation (no objects necessary)
- Open a new Blender window, either by opening System Preferences or Shift + Clicking on the lines at the edge of a window to rip that window into a new one on top of Blender.
- With the animation still running, close that window.
- The Blender UI should crash.

Blender 2.5 r29109
OSX 32 bit Intel build

OSX 10.6.3
15 inch Macbook Pro
2 GHz Core Duo
2 gig ram
Ati X1600 video card 256 MB

Followup

Message
  • Date: 2010-06-04 07:05
  • Sender: Matt Ebb
  • I can confirm this, but it doesn't crash, it just freezes (stops responding to input mouse clicks etc). If I click the fullscreen button to go back to normal windowed mode, it's ok again...
  • Date: 2010-06-29 19:02
  • Sender: Diego Borghetti
  • Hi,

    Work fine here, fullscreen or not (Linux Ubuntu 9.10 64 bits), seems to be something specified to OSX ? Can you upload a backtrace of the crash ?

    Thanks,

    - Diego
  • Date: 2010-11-16 21:22
  • Sender: Damien Plisson
  • Reproducing the issue, immediately after closing the window, no drawing update happens.
    But all events are clearly handled.
    Reopening the secondary window makes the main window responsive again as long as the secondary window is on top.
    Leaving fullscreen mode (using either keyboard shortcut, or clicking on the icon) resets to normal mode. That is I can switch back again to fullscreen and get UI redrawing normally.
    No impact when changing redrawing method.

    Ton, I'm not sure it is ghost related, as it happens in both OSes.
    And you definitely need to get something from the refurb store :)
  • Date: 2010-11-17 10:44
  • Sender: Ton Roosendaal
  • Linux and OSX Carbon do this fine, and share all of the Blender WM code, so I suspect a missing activate or so at ghost level...
  • Date: 2010-12-04 10:37
  • Sender: Damien Plisson
  • Ton, I'll need your help for this one... I don't see any activate or other issue in ghost cocoa...

    BTW, what is special concerning the UI when playing animation ?
  • Date: 2010-12-04 10:46
  • Sender: Ton Roosendaal
  • There's nothing special, it's just continuously drawing. In triple-buffer mode even to an off-screen buffer.

    What's probably important is that before the window actually gets closed, it should send the close event to blender before actually executing the close. Dunno for sure, but probably that's why X11 or Carbon don't crash?

    I'm in irc all day, you can always drop in and ask questions :)
  • Date: 2010-12-06 22:43
  • Sender: Damien Plisson
  • Investing it shows the freeze happen when there is GL drawing happening when the other window is closed, and only when the main window is in borderless mode (used to max its contents to the whole screen).
    Reopening the other window restarts the drawings.
    Leaving and coming back to fullscreen also.
    I'm wondering if this is not a Cocoa issue with borderless GL windows.

    Ton, I can't find an issue in ghost cocoa code there... Unless you find one (that'll be the best fix...), I think of two possible workarounds:
    1) pause drawing during window closing (mainly when the GL view associated with it is released)
    2) leave and come back to fullscreen automatically after the window is closed.

    BTW, when not in fullscreen, the drawing in main window pauses briefly before restarting.

    What do you think ?
  • Date: 2010-12-07 19:46
  • Sender: Ton Roosendaal
  • Damien: how would you pause drawing? Can you do that in ghost level? Maybe glFinish() before close?
  • Date: 2010-12-07 20:38
  • Sender: Damien Plisson
  • Ton: I don't think it could be at ghost level, but more in the main loop by not calling the redraw function.
  • Date: 2010-12-12 16:02
  • Sender: Janne Karhu
  • Damien: I committed a fix for the related windows bug yesterday, can you please test if this got fixed as well?
  • Date: 2010-12-13 17:27
  • Sender: Shane Ambler
  • Mac OSX 10.5.8 ppc 2GB Radeon 9800 Pro 128MB

    I can't seem to reproduce the ui freeze now - r33639 - (definitely froze earlier)

    Have tried with one and two full screen windows (dual monitor) with opening/closing prefs as well as duplicate 3dviews
  • Date: 2010-12-13 19:56
  • Sender: Diego Borghetti
  • Hi,

    Closing the report, Janne commit seems to fix this.
    Peter, if you still have this problem reply this report and I will reopen it :)

    - Diego
 

Attached Files:

No Files Currently Attached

Changes:

Field Old Value Date By
status_idOpen2010-12-13 19:56bdiego
close_dateNone2010-12-13 19:56bdiego
StatusReady2010-12-13 19:56bdiego
assigned_tonone2010-11-15 19:39ton
ResolutionNone2010-06-04 07:05broken