mozilla: don't allocate a zero sized array.
authorJean-Paul Saman <jpsaman@videolan.org>
Sat, 13 Jun 2009 22:09:45 +0000 (00:09 +0200)
committerJean-Paul Saman <jpsaman@videolan.org>
Fri, 24 Jul 2009 12:26:28 +0000 (14:26 +0200)
(cherry-picked from commit aed48363a478e9767a374154d703d7c84857707b)

Conflict:
projects/mozilla/control/npolibvlc.cpp

projects/mozilla/control/npolibvlc.cpp
projects/mozilla/control/npolibvlc.h

index f904509..f92e8c4 100644 (file)
@@ -588,10 +588,33 @@ LibvlcInputNPObject::setProperty(int index, const NPVariant &value)
 const NPUTF8 * const LibvlcInputNPObject::methodNames[] =
 {
     /* no methods */
+    "none",
 };
-
 COUNTNAMES(LibvlcInputNPObject,methodCount,methodNames);
 
+enum LibvlcInputNPObjectMethodIds
+{
+    ID_none,
+};
+
+RuntimeNPObject::InvokeResult
+LibvlcInputNPObject::invoke(int index, const NPVariant *args,
+                                    uint32_t argCount, NPVariant &result)
+{
+    /* is plugin still running */
+    if( isPluginRunning() )
+    {
+        switch( index )
+        {
+            case ID_none:
+                return INVOKERESULT_NO_SUCH_METHOD;
+            default:
+                ;
+        }
+    }
+    return INVOKERESULT_GENERIC_ERROR;
+}
+
 /*
 ** implementation of libvlc playlist items object
 */
@@ -803,6 +826,9 @@ LibvlcPlaylistNPObject::invoke(int index, const NPVariant *args,
                     return INVOKERESULT_NO_SUCH_METHOD;
 
                 // grab URL
+                if( NPVARIANT_IS_NULL(args[0]) )
+                    return INVOKERESULT_NO_SUCH_METHOD;
+
                 char *s = stringValue(NPVARIANT_TO_STRING(args[0]));
                 if( !s )
                     return INVOKERESULT_OUT_OF_MEMORY;
index ccd035f..2fc3107 100644 (file)
@@ -99,6 +99,8 @@ protected:
 
     static const int methodCount;
     static const NPUTF8 * const methodNames[];
+
+    InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
 };
 
 class LibvlcPlaylistItemsNPObject: public RuntimeNPObject