b=560246 use CallPaint for GraphicsExpose r=cjones
authorKarl Tomlinson <karlt+@karlt.net>
Wed, 21 Apr 2010 14:53:53 +1200
changeset 41051 f19782aa6ada
parent 41050 e8d05811c2a0
child 41052 2d6f87325e9a
push id12903
push userktomlinson@mozilla.com
push date2010-04-21 04:01 +0000
treeherdermozilla-central@1fe472a0a0aa [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerscjones
bugs560246
milestone1.9.3a5pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
b=560246 use CallPaint for GraphicsExpose r=cjones
dom/plugins/PluginInstanceParent.cpp
--- a/dom/plugins/PluginInstanceParent.cpp
+++ b/dom/plugins/PluginInstanceParent.cpp
@@ -700,33 +700,33 @@ PluginInstanceParent::NPP_HandleEvent(vo
         // Make sure the X server has created the Drawable and completes any
         // drawing before the plugin draws on top.
         //
         // XSync() waits for the X server to complete.  Really this parent
         // process does not need to wait; the child is the process that needs
         // to wait.  A possibly-slightly-better alternative would be to send
         // an X event to the child that the child would wait for.
         XSync(GetXDisplay(), False);
-        break;
+
+        return CallPaint(npremoteevent, &handled) ? handled : 0;
+
     case ButtonPress:
         // Release any active pointer grab so that the plugin X client can
         // grab the pointer if it wishes.
         Display *dpy = GetXDisplay();
 #  ifdef MOZ_WIDGET_GTK2
         // GDK attempts to (asynchronously) track whether there is an active
         // grab so ungrab through GDK.
         gdk_pointer_ungrab(npevent->xbutton.time);
 #  else
         XUngrabPointer(dpy, npevent->xbutton.time);
 #  endif
         // Wait for the ungrab to complete.
         XSync(dpy, False);
         break;
-
-        return CallPaint(npremoteevent, &handled) ? handled : 0;
     }
 #endif
 
 #ifdef XP_MACOSX
     if (npevent->type == NPCocoaEventDrawRect) {
         if (mDrawingModel == NPDrawingModelCoreAnimation) {
             if (!mIOSurface) {
                 NS_ERROR("No IOSurface allocated.");