Closed
Bug 159261
Opened 23 years ago
Closed 22 years ago
installer fails to shutdown the browser appropriately the first time around
Categories
(SeaMonkey :: Installer, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: ssu0262, Assigned: ssu0262)
Details
Attachments
(1 file, 1 obsolete file)
5.82 KB,
patch
|
curt
:
review+
|
Details | Diff | Splinter Review |
The problem is that when the installer dectects that the browser is running, it
will ask the user to either shut it down, or click OK and let it shut it down
for them.
On occasion, if the uses clicks on OK, the same dialog will come up again. This
is because the way the installer shuts down the browser is by simply sending a
WM_QUIT message to all the *visible* windows.
This in turn tells the browser that it needs to be completely shutdown. There
are times that this part (after all the visible windows have been closed) takes
a long time. The installer then returns from sending all the WM_QUIT messages
and does another check (just to be sure) and dectects that it has not shutdown yet.
The fix is to also send WM_QUIT messages to all of the *invisible* windows
_after_ the *visible* windows have been closed.
Patch coming right up.
the previous patch was bitroted. Here's an updated one also with clearer
comments.
Attachment #92660 -
Attachment is obsolete: true
Comment 4•23 years ago
|
||
Comment on attachment 92694 [details] [diff] [review]
patch v1.1
r=curt
Attachment #92694 -
Flags: review+
Comment 5•23 years ago
|
||
Comment on attachment 92694 [details] [diff] [review]
patch v1.1
> DWORD PX_THREAD;
>++DWORD gCloseWindowProcessPass;
That extra plus isn't actually in the file, is it?
>+// This function will close all the visible and invisible windows that match
>+// a processe's id passed in from lParam.
> BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
Not the best name... this function itself doesn't enumate anything, and
the fact that it's closing things is obscure. "CloseWindowProc" maybe?
"CloseEnumeratedWindow"?
The global 'pass' variable is icky, it should be an argument
to this function. Ah, pass 2 doesn't close anything. Ok, combine
these two and you could stick with the EnumWindowProc name with an
argument that says what to do, #defined to something readable.
I guess that means you'd have to define a struct to pass in since
you're stuck with just a lparam arg.
Types could be CLOSE_VISIBLE, CHECK_VISIBLE, and CLOSE_ALL or
something along those lines.
I guess if we were rushing to get it into the branch I could
live with it, but since you said this is for the trunk you can
go ahead and make the behavior a little less magical.
Comment 6•23 years ago
|
||
what's the status on this baby? I sometimes have "hanging" mozilla threads that
the installer doesn't shutdown so that I after install I get the restart dialog...
fix is now part of the patch to bug 186703
Status: NEW → ASSIGNED
bug 186703 has been fixed. marking this bug fixed too.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Updated•21 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•