diff options
Diffstat (limited to 'indra/media_plugins')
-rw-r--r-- | indra/media_plugins/quicktime/media_plugin_quicktime.cpp | 28 | ||||
-rw-r--r-- | indra/media_plugins/webkit/media_plugin_webkit.cpp | 15 |
2 files changed, 25 insertions, 18 deletions
diff --git a/indra/media_plugins/quicktime/media_plugin_quicktime.cpp b/indra/media_plugins/quicktime/media_plugin_quicktime.cpp index dac0509531..236f79978d 100644 --- a/indra/media_plugins/quicktime/media_plugin_quicktime.cpp +++ b/indra/media_plugins/quicktime/media_plugin_quicktime.cpp @@ -531,13 +531,13 @@ private: // this wasn't required in 1.xx viewer but we have to manually // work the Windows message pump now #if defined( LL_WINDOWS ) - MSG msg;
- while ( PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE ) )
- {
- GetMessage( &msg, NULL, 0, 0 );
- TranslateMessage( &msg );
- DispatchMessage( &msg );
- };
+ MSG msg; + while ( PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE ) ) + { + GetMessage( &msg, NULL, 0, 0 ); + TranslateMessage( &msg ); + DispatchMessage( &msg ); + }; #endif MCIdle( mMovieController ); @@ -718,18 +718,24 @@ private: // find the size of the title ByteCount size; result = QTMetaDataGetItemValue( media_data_ref, item, NULL, 0, &size ); - if ( noErr != result || size <= 0 ) + if ( noErr != result || size <= 0 /*|| size > 1024 FIXME: arbitrary limit */ ) return false; // allocate some space and grab it - UInt8* item_data = new UInt8( size ); - memset( item_data, 0, size * sizeof( UInt8* ) ); + UInt8* item_data = new UInt8( size + 1 ); + memset( item_data, 0, ( size + 1 ) * sizeof( UInt8* ) ); result = QTMetaDataGetItemValue( media_data_ref, item, item_data, size, NULL ); if ( noErr != result ) + { + delete [] item_data; return false; + }; // save it - mMovieTitle = std::string( (char* )item_data ); + if ( strlen( (char*)item_data ) ) + mMovieTitle = std::string( (char* )item_data ); + else + mMovieTitle = ""; // clean up delete [] item_data; diff --git a/indra/media_plugins/webkit/media_plugin_webkit.cpp b/indra/media_plugins/webkit/media_plugin_webkit.cpp index 1e79720f43..09348782a4 100644 --- a/indra/media_plugins/webkit/media_plugin_webkit.cpp +++ b/indra/media_plugins/webkit/media_plugin_webkit.cpp @@ -296,7 +296,7 @@ private: // virtual void onNavigateBegin(const EventType& event) { - if(mInitState > INIT_STATE_NAVIGATE_COMPLETE) + if(mInitState >= INIT_STATE_NAVIGATE_COMPLETE) { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "navigate_begin"); message.setValue("uri", event.getEventUri()); @@ -304,7 +304,8 @@ private: setStatus(STATUS_LOADING); } - else if(mInitState == INIT_STATE_NAVIGATE_COMPLETE) + + if(mInitState == INIT_STATE_NAVIGATE_COMPLETE) { mInitState = INIT_STATE_WAIT_REDRAW; } @@ -315,7 +316,7 @@ private: // virtual void onNavigateComplete(const EventType& event) { - if(mInitState > INIT_STATE_NAVIGATE_COMPLETE) + if(mInitState >= INIT_STATE_NAVIGATE_COMPLETE) { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "navigate_complete"); message.setValue("uri", event.getEventUri()); @@ -338,7 +339,7 @@ private: // virtual void onUpdateProgress(const EventType& event) { - if(mInitState > INIT_STATE_NAVIGATE_COMPLETE) + if(mInitState >= INIT_STATE_NAVIGATE_COMPLETE) { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "progress"); message.setValueS32("percent", event.getIntValue()); @@ -350,7 +351,7 @@ private: // virtual void onStatusTextChange(const EventType& event) { - if(mInitState > INIT_STATE_NAVIGATE_COMPLETE) + if(mInitState >= INIT_STATE_NAVIGATE_COMPLETE) { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "status_text"); message.setValue("status", event.getStringValue()); @@ -362,7 +363,7 @@ private: // virtual void onTitleChange(const EventType& event) { - if(mInitState > INIT_STATE_NAVIGATE_COMPLETE) + if(mInitState >= INIT_STATE_NAVIGATE_COMPLETE) { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "name_text"); message.setValue("name", event.getStringValue()); @@ -374,7 +375,7 @@ private: // virtual void onLocationChange(const EventType& event) { - if(mInitState > INIT_STATE_NAVIGATE_COMPLETE) + if(mInitState >= INIT_STATE_NAVIGATE_COMPLETE) { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "location_changed"); message.setValue("uri", event.getEventUri()); |