витязь в тигровом халате ([info]fyysik) wrote in [info]bezilla,
@ 2006-05-16 22:55:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
nsNextGoodThing(TM), new Destroy code coming
You know, everytime I'm joining #haiku channel, axeld is asking me - "why Firefox
prevents shutdown?", "Why i cannot close it from Deskbar"?
So I got really ashamed, those Haiku guys are working day and night 25/24 - and we?

So tried to return to bug 164498 and won!
At least I hope so.

With new code in nsWindow.cpp BeZilla now closes from Deskbar and Shutdown, also autocloses and really quits if you close last real window and have "Find" dialog open. That wasn't the case before.

I suspect that our new code in AppShell helped things a bit too.

Now back to work on polishing patch for bugzilla.

Update: Patch updated. There are enough technical details in comment to the patch.
Onlu important thing i wish to add - we really need to Run() our loopers at nsWindow create. Maybe even some troubles i had in AppShell fix is related to broken message chain with non-running loopers.

Update 2: Build with new Quit code is available for testing. Testing with lot of hands and eyes is really important here, as Quit process is really very complicated in our case and i really could miss lot of such circumstances.



(Post a new comment)

Nice!
[info]kokimare
2006-05-16 08:04 pm UTC (link)
Nice on Sergei!

(Reply to this)

QuitRequested()
(Anonymous)
2006-05-16 10:12 pm UTC (link)
Thanks! But I don't have any other thing I could bother you with yet... ;-)
Bye,
Axel.

(Reply to this)

Run() at create?
(Anonymous)
2006-05-18 01:25 pm UTC (link)
One trick that was used on the Java port (which may or may not ever see the light of day) was that we Hide() then Show() within our BWindow constructors. Hide() and Show() stack multiple invocations, but Show() will always start the looper if it's not running.

So we have a new BWindow that isn't shown, and isn't running. Hide() sets up a 2nd hide, then the Show() will start the looper while only removing one Hide() from it's insternal state. The next Show() will actually show the window.

I'm not sure if this is what you meant or not, but I hope it helps.

(Reply to this) (Thread)

Re: Run() at create?
[info]fyysik
2006-05-18 01:53 pm UTC (link)
Yeah, it is.
Previously at some moment I included that Hide()/Show() trick, but it was removed from code by occasion.

In current implementation (see last SeaMonkey-BONE at bebits) I introduce calling BWindow()::Run() instead at widget create.

(Reply to this) (Parent)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…