[haiku-bugs] Re: [Haiku] #4260: [ScreenSaver] freezes when switching screensavers

  • From: "jscipione" <trac@xxxxxxxxxxxx>
  • Date: Wed, 04 Sep 2013 21:42:02 -0000

#4260: [ScreenSaver] freezes when switching screensavers
---------------------------------------+----------------------------
   Reporter:  diver                    |      Owner:  axeld
       Type:  bug                      |     Status:  reopened
   Priority:  normal                   |  Milestone:  R1
  Component:  Preferences/ScreenSaver  |    Version:  R1/Development
 Resolution:                           |   Keywords:
 Blocked By:                           |   Blocking:
Has a Patch:  0                        |   Platform:  All
---------------------------------------+----------------------------

Comment (by jscipione):

 Replying to [comment:8 axeld]:
 > I actually see little reason why the ModulesView has to wait until
 Quit() returns, anyway -- once that call is made, the screen saver cannot
 access the window anymore (well, not visually, that is).
 >
 > Not that I'm deep into the code, but I think I would add a
 ScreenSaverRunner::QuitAsync() that just sets fQuitting to `true` (and
 call Resume()), and Quit() would just call this one, and wait until the
 thread returns. ModulesView could then call QuitAsync(), and offload the
 destruction of the saver into another thread (ie. only this one would then
 call Quit()).

 Seems like a decent idea, I tried this, and it actually allows the
 screensaver preview to update live, but, I don't understand where I'm
 suppose to call Quit().

--
Ticket URL: <http://dev.haiku-os.org/ticket/4260#comment:9>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: