Closed
Bug 87337
Opened 23 years ago
Closed 23 years ago
[BeOS patch] fix ProcessPendingEvents crash, introduce event priority
Categories
(Core :: XUL, defect, P3)
Tracking
()
RESOLVED
FIXED
mozilla1.0
People
(Reporter: VYA04230, Assigned: cls)
References
Details
Attachments
(2 files)
I made a patch to nsAppShell.cpp/nsAppshell.h . This patch will... 1.fix ProcessPendingEvents crash The cause of the crash is calling PL_ProcessPendingEvents() after the PLEventQueue was destroyed. So, I changed to not call PR_ProcessPendingEvents() directly, and use nsCOMPtr<nsIEventQueue> so that the refcount of nsIEventQueue will not be zero. I think this will fix #69662, #71003 2. introduce event priorities Current BeOS implementation processes native events by FIFO(First-In First-Out) manner. But this causes bad UI response. So I introduced some priorities in handling events in this patch. I implemented this priorities for events as several internal event queues (BLists) for each priority. The order of priorities of events will be like this, [top priority] : synchronous events [second] : keyboard events [third] : mouse events [normal] : others [low] : timer events I'm not so confident about this order, so give me some comments. I'll attach a patch, so please review it carefully.
Reporter | ||
Comment 1•23 years ago
|
||
I know nothing about how events are handled in mozilla. Blizzard? Dougt? Could one of you lend a hand here?
Updated•23 years ago
|
Priority: -- → P3
Target Milestone: --- → mozilla1.0
Comment 5•23 years ago
|
||
I am not sure exactly what the question is. This only effects the BEOS port of mozilla, so who ever the owner of the port is should give the thumbs up-or-down to this patch. The only comment that I have on the patch are: in ProcessPendingEventsForCurrentThread(), you really should find a way to cache the even queue for the tread. NS_WITH_SERVICE is probably not as fast as you would like. Maybe your app shell can hold a reference to the queue so that it won't be destroyed under you.
Unfortunately, ownership of the BeOS port has been in flux since Duncan left last year (or was it the year before). Besides that, ownership of a port doesn't imply knowledge of Mozilla's various subsystems so we still need someone with area specific knowledge to review the patch.
Reporter | ||
Comment 7•23 years ago
|
||
DougT, Thanks, your comment is what I wanted, a comment which is from general knowledge of developing mozilla. There is no "owner of BeOS port" as of now, like Chris explained. And I made newer patch of the 'cached' version so please review it once more. Also, I made some more chages. I added a code to detect sequencial mouse move event in the queue and delete older one, to improve UI response. Also, I added Duncan, Yannick and me to the "Contributer". (Should I add any other name ?) And..., changed NSMETHOD to NSIMETHODIMP, which I thought is more appropriate. (Isn't it?) Also..., replace member declarations of nsAppshell by NS_DECL_NSIAPPSHELL. Please tell me a comment if I'm doing wrong.
Reporter | ||
Comment 8•23 years ago
|
||
The updated patch has been checked in.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Comment 10•23 years ago
|
||
May God have mercy on us all. The 212 bug spam-o-rama is Now!
QA Contact: aegis → jrgm
You need to log in
before you can comment on or make changes to this bug.
Description
•