npapi-vlc | branch: master | Felix Paul Kühne <[email protected]> | Wed Sep  
9 14:56:43 2015 +0200| [de857cc532c0093c070a1b65c6390c49cf0f12c1] | committer: 
Felix Paul Kühne

macosx: fix slider redraw broken in current Firefox releases due to the lack of 
reliable UI updates

> http://git.videolan.org/gitweb.cgi/npapi-vlc.git/?a=commit;h=de857cc532c0093c070a1b65c6390c49cf0f12c1
---

 extras/macosx/dmg_setup.scpt |  Bin 4826 -> 4826 bytes
 npapi/vlcplugin_mac.mm       |   13 ++++++++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/extras/macosx/dmg_setup.scpt b/extras/macosx/dmg_setup.scpt
index 1a58783..72eee0e 100644
Binary files a/extras/macosx/dmg_setup.scpt and b/extras/macosx/dmg_setup.scpt 
differ
diff --git a/npapi/vlcplugin_mac.mm b/npapi/vlcplugin_mac.mm
index ebb7caa..571cb67 100644
--- a/npapi/vlcplugin_mac.mm
+++ b/npapi/vlcplugin_mac.mm
@@ -319,8 +319,11 @@ NPError VlcPluginMac::get_root_layer(void *value)
         if (strstr(userAgent, "Safari") && strstr(userAgent, "Version/5")) {
             NSLog(@"Safari 5 detected, deploying UI update timer");
             [[(VLCPerInstanceStorage *)this->_perInstanceStorage 
browserRootLayer] performSelector:@selector(startUIUpdateTimer) withObject:nil 
afterDelay:1.];
-        } else if (strstr(userAgent, "Firefox"))
+        } else if (strstr(userAgent, "Firefox")) {
+            NSLog(@"Firefox detected, deploying UI update timer");
             this->runningWithinFirefox = true;
+            [[(VLCPerInstanceStorage *)this->_perInstanceStorage 
browserRootLayer] performSelector:@selector(startUIUpdateTimer) withObject:nil 
afterDelay:1.];
+        }
 
         [(VLCPerInstanceStorage *)this->_perInstanceStorage 
setNoMediaLayer:[[VLCNoMediaLayer alloc] init]];
         [(VLCPerInstanceStorage *)this->_perInstanceStorage 
noMediaLayer].opaque = 1.;
@@ -360,8 +363,10 @@ bool VlcPluginMac::handle_event(void *event)
             CGPoint point = CGPointMake(cocoaEvent->data.mouse.pluginX,
                                         // Flip the y coordinate
                                         npwindow.height - 
cocoaEvent->data.mouse.pluginY);
-            if ([(VLCPerInstanceStorage *)this->_perInstanceStorage 
controllerLayer] != nil)
+            if ([(VLCPerInstanceStorage *)this->_perInstanceStorage 
controllerLayer] != nil) {
                 [[(VLCPerInstanceStorage *)this->_perInstanceStorage 
controllerLayer] handleMouseDown:[[(VLCPerInstanceStorage 
*)this->_perInstanceStorage browserRootLayer] convertPoint:point 
toLayer:[(VLCPerInstanceStorage *)this->_perInstanceStorage controllerLayer]]];
+                [[(VLCPerInstanceStorage *)this->_perInstanceStorage 
controllerLayer] setNeedsDisplay];
+            }
 
             return true;
         }
@@ -375,8 +380,10 @@ bool VlcPluginMac::handle_event(void *event)
                                         // Flip the y coordinate
                                         npwindow.height - 
cocoaEvent->data.mouse.pluginY);
 
-            if ([(VLCPerInstanceStorage *)this->_perInstanceStorage 
controllerLayer] != nil)
+            if ([(VLCPerInstanceStorage *)this->_perInstanceStorage 
controllerLayer] != nil) {
                 [[(VLCPerInstanceStorage *)this->_perInstanceStorage 
controllerLayer] handleMouseUp:[[(VLCPerInstanceStorage 
*)this->_perInstanceStorage browserRootLayer] convertPoint:point 
toLayer:[(VLCPerInstanceStorage *)this->_perInstanceStorage controllerLayer]]];
+                [[(VLCPerInstanceStorage *)this->_perInstanceStorage 
controllerLayer] setNeedsDisplay];
+            }
 
             return true;
         }

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to