Closed Bug 75582 Opened 23 years ago Closed 23 years ago

full page mac plugin mousedown event handling broken

Categories

(Core Graveyard :: Plug-ins, defect, P1)

PowerPC
Mac System 9.x
defect

Tracking

(Not tracked)

VERIFIED FIXED
mozilla0.9.2

People

(Reporter: sean, Assigned: peterlubczynski-bugs)

References

()

Details

(Whiteboard: [need sr= a=])

Attachments

(1 file)

full page plugins on mac get 2 mousedown events when they should only get 1.  
Possible cause (?): nsPluginViewer.cpp does not translate 
nsEventStatus_eConsumeNoDefault to NS_ERROR_FAILURE like nsObjectFrame.cpp does 
in nsPluginInstanceOwner::MouseDown.

To test, (requires Beatnik player http://www.beatnik.com/to/?player ), load 
http://www.beatnik.com/software/documentation/music_object34/music/trance.rmf.  
A single click in the scope should switch the display from a waveform scope to 
voice meters.  The player is getting the mousedown twice, so it switches to 
from scope to meters back to scope.  Likewise with green/red mute button on the 
top right.
assigning to Peter.
Assignee: av → peterlubczynski
This important and should be easy to fix.
Status: NEW → ASSIGNED
Priority: -- → P3
Target Milestone: --- → mozilla0.9
Looks like this may be a little harder to fix as events in nsPluginViewer come 
directly from the view system whereas events in nsObjectFrame come from the DOM. 

I'm starting a fresh pull on my Mac to debug why this event doesn't get 
consumed.
I put some printf's in and it looks like we are doing the right thing. I'm 
getting:

NS_MOUSE_ACTIVATE
NS_MOUSE_LEFT_BUTTON_DOWN
NS_MOUSE_LEFT_BUTTON_UP

Am I missing something? I tested with a PDF file. I'll double check with Beatnik 
 later before marking WFM.

Moving to Mozilla 1.0.
Target Milestone: mozilla0.9 → mozilla1.0
I did a pull this morning and still see the same behavior.  Also tested with 
full page Flash and see similar problems.  Rt-click on flash content and select 
Zoom In.  The Flash plugin does 2 zoom ins.
-->mozilla 0.9.1
Target Milestone: mozilla1.0 → mozilla0.9.1
Severity: normal → critical
Keywords: nsbeta1
Priority: P3 → P1
Blocks: 74980
Moving to m0.9.2
Target Milestone: mozilla0.9.1 → mozilla0.9.2
Hey Brian, if you have some spare time, can you look at this?
Confirming and accpeting...this bad an needs to be fixed for mozilla 0.9.2

The problem here is that in nsObjectFrame::Destroy, mInstanceOwner has a 
refcount of 4 but it's instance is blown away. The vtable is bad. Need to figure 
out some way to be sure we have a valid instance in the owner.
Keywords: crash, mozilla0.9.2
wrong bug, sorry for the SPAM.
Ok, what's going on here is that nsMacEventHandler is sending nsPluginViewer an 
NS_MOUSE_ACTIVATE event followed by a mouse down event. The plugin viewer, which 
is looking for the Windows translated NS_PLUGIN_EVENT, blindly passes both events 
to the plugin as mouse clicks.

The attached patch fixes the double events on Mac and attemps to set the focus on 
other platforms as well.
Keywords: patch
Whiteboard: [fix-in-hand]
r=peterl
Whiteboard: [fix-in-hand] → [need sr= a=]
sr=attinasi
Blocks: 83989
a= asa@mozilla.org for checkin to the trunk.
(on behalf of drivers)
Patch checked in, marking FIXED:

new revision: 1.57; previous revision: 1.56
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
this no longer happens. verif  on mac trunk 0619.
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: