patches/gnash-02-sunpro.diff
author jurikm
Sun, 12 Feb 2012 14:04:10 +0000
changeset 8245 383896da4129
parent 2259 c0ed6d3782ea
permissions -rw-r--r--
SFEsauerbraten.spec: add IPS package name

--- gnash-0.8.6.orig/libbase/log.h	2009-09-13 19:22:16.000000000 -0400
+++ gnash-0.8.6/libbase/log.h	2009-12-13 12:47:42.039054367 -0500
@@ -285,7 +285,7 @@
 /// Use "g++ -E log.h" or "cpp log.h" to check.
 #define LOG_TEMPLATES(z, n, data)\
 template<BOOST_PP_ENUM_PARAMS(BOOST_PP_INC(n), typename T)>\
-void log_##data(BOOST_PP_REPEAT(BOOST_PP_INC(n), TOKENIZE_ARGS, t)) \
+inline void log_##data(BOOST_PP_REPEAT(BOOST_PP_INC(n), TOKENIZE_ARGS, t)) \
 {\
     if (LogFile::getDefaultInstance().getVerbosity() == 0) return; \
     boost::format f(t0); \
@@ -315,6 +315,7 @@
 BOOST_PP_SEQ_FOR_EACH(GENERATE_LOG_TYPES, _, LOG_TYPES)
 
 #undef TOKENIZE_FORMAT
+#undef TOKENIZE_ARGS
 #undef GENERATE_LOG_TYPES
 #undef LOG_TEMPLATES
 #undef ARG_NUMBER
@@ -445,10 +446,10 @@
 #define GNASH_REPORT_RETURN
 #else
 #define GNASH_REPORT_FUNCTION \
-    log_debug("entering")
+    gnash::log_debug("entering")
 
 #define GNASH_REPORT_RETURN \
-    log_debug("returning")
+    gnash::log_debug("returning")
 #endif
 
 }
--- gnash-0.8.6.orig/libcore/movie_root.cpp	2009-09-13 19:22:17.000000000 -0400
+++ gnash-0.8.6/libcore/movie_root.cpp	2009-12-07 20:16:00.328812604 -0500
@@ -2246,11 +2246,10 @@
     /// If the method is MovieClip::METHOD_NONE, we send no data.
     if (method == MovieClip::METHOD_GET)
     {
-        std::string varsToSend(urlstr);
         /// GET: append data to query string.
         std::string qs = url.querystring();
-        if ( qs.empty() ) varsToSend.insert(0, 1, '?');
-        else varsToSend.insert(0, 1, '&');
+        std::string varsToSend(qs.empty() ? "&" : "?");
+        varsToSend.append(urlstr);
         url.set_querystring(qs + varsToSend);
     }
 
--- gnash-0.8.6.orig/libcore/swf/DefaultTagLoaders.cpp	2009-09-13 19:22:17.000000000 -0400
+++ gnash-0.8.6/libcore/swf/DefaultTagLoaders.cpp	2009-12-08 14:27:15.782474269 -0500
@@ -59,6 +59,8 @@
 namespace gnash {
 namespace SWF {
 
+typedef TagLoadersTable::Loaders::value_type TagPair;
+
 namespace {
     class AddLoader
     {
@@ -67,7 +69,7 @@
             :
             _table(table)
         {}
-        void operator()(const TagLoadersTable::Loaders::value_type& p)
+        void operator()(const TagPair& p)
         {
             _table.registerLoader(p.first, p.second);
         }
@@ -80,152 +82,152 @@
 addDefaultLoaders(TagLoadersTable& table)
 {
 
-    const std::map<TagType, TagLoadersTable::TagLoader> tags =
-        boost::assign::map_list_of
+    const std::vector<TagPair> tags =
+        boost::assign::list_of
 
-    (SWF::END, end_loader)
-    (SWF::DEFINESHAPE, DefineShapeTag::loader)
-    (SWF::FREECHARACTER, fixme_loader) // 03
-    (SWF::PLACEOBJECT, PlaceObject2Tag::loader)
-    (SWF::REMOVEOBJECT, RemoveObjectTag::loader) // 05
-    (SWF::DEFINEBITS, define_bits_jpeg_loader)
-    (SWF::DEFINEBUTTON, DefineButtonTag::loader)
-    (SWF::JPEGTABLES, jpeg_tables_loader)
-    (SWF::SETBACKGROUNDCOLOR, SetBackgroundColorTag::loader)
-    (SWF::DEFINEFONT, DefineFontTag::loader)
-    (SWF::DEFINETEXT, DefineTextTag::loader)
-    (SWF::DOACTION,  DoActionTag::loader)
-    (SWF::DEFINEFONTINFO, DefineFontInfoTag::loader)
+    (TagPair(SWF::END, end_loader))
+    (TagPair(SWF::DEFINESHAPE, DefineShapeTag::loader))
+    (TagPair(SWF::FREECHARACTER, fixme_loader)) // 03
+    (TagPair(SWF::PLACEOBJECT, PlaceObject2Tag::loader))
+    (TagPair(SWF::REMOVEOBJECT, RemoveObjectTag::loader)) // 05
+    (TagPair(SWF::DEFINEBITS, define_bits_jpeg_loader))
+    (TagPair(SWF::DEFINEBUTTON, DefineButtonTag::loader))
+    (TagPair(SWF::JPEGTABLES, jpeg_tables_loader))
+    (TagPair(SWF::SETBACKGROUNDCOLOR, SetBackgroundColorTag::loader))
+    (TagPair(SWF::DEFINEFONT, DefineFontTag::loader))
+    (TagPair(SWF::DEFINETEXT, DefineTextTag::loader))
+    (TagPair(SWF::DOACTION,  DoActionTag::loader))
+    (TagPair(SWF::DEFINEFONTINFO, DefineFontInfoTag::loader))
     // 62
-    (SWF::DEFINEFONTINFO2, DefineFontInfoTag::loader)
-    (SWF::DEFINESOUND, define_sound_loader)
-    (SWF::STARTSOUND, StartSoundTag::loader)
+    (TagPair(SWF::DEFINEFONTINFO2, DefineFontInfoTag::loader))
+    (TagPair(SWF::DEFINESOUND, define_sound_loader))
+    (TagPair(SWF::STARTSOUND, StartSoundTag::loader))
     // 89
-    (SWF::STARTSOUND2, StartSound2Tag::loader)
+    (TagPair(SWF::STARTSOUND2, StartSound2Tag::loader))
 
-    (SWF::STOPSOUND, fixme_loader) // 16 
+    (TagPair(SWF::STOPSOUND, fixme_loader)) // 16 
 
     // 17
-    (SWF::DEFINEBUTTONSOUND, DefineButtonSoundTag::loader)
+    (TagPair(SWF::DEFINEBUTTONSOUND, DefineButtonSoundTag::loader))
     // 18
-    (SWF::SOUNDSTREAMHEAD, sound_stream_head_loader)
+    (TagPair(SWF::SOUNDSTREAMHEAD, sound_stream_head_loader))
     // 19
-    (SWF::SOUNDSTREAMBLOCK, StreamSoundBlockTag::loader)
-    (SWF::DEFINELOSSLESS, define_bits_lossless_2_loader)
-    (SWF::DEFINEBITSJPEG2, define_bits_jpeg2_loader)
-    (SWF::DEFINESHAPE2,  DefineShapeTag::loader)
-    (SWF::DEFINEBUTTONCXFORM, DefineButtonCxformTag::loader) // 23
+    (TagPair(SWF::SOUNDSTREAMBLOCK, StreamSoundBlockTag::loader))
+    (TagPair(SWF::DEFINELOSSLESS, define_bits_lossless_2_loader))
+    (TagPair(SWF::DEFINEBITSJPEG2, define_bits_jpeg2_loader))
+    (TagPair(SWF::DEFINESHAPE2,  DefineShapeTag::loader))
+    (TagPair(SWF::DEFINEBUTTONCXFORM, DefineButtonCxformTag::loader)) // 23
     // "protect" tag; we're not an authoring tool so we don't care.
     // (might be nice to dump the password instead..)
-    (SWF::PROTECT, null_loader)
-    (SWF::PATHSAREPOSTSCRIPT, fixme_loader) // 25
-    (SWF::PLACEOBJECT2,  PlaceObject2Tag::loader)
+    (TagPair(SWF::PROTECT, null_loader))
+    (TagPair(SWF::PATHSAREPOSTSCRIPT, fixme_loader)) // 25
+    (TagPair(SWF::PLACEOBJECT2,  PlaceObject2Tag::loader))
     // 27 - _UNKNOWN_ unimplemented
-    (SWF::REMOVEOBJECT2, RemoveObjectTag::loader) // 28
-    (SWF::SYNCFRAME, fixme_loader) // 29
+    (TagPair(SWF::REMOVEOBJECT2, RemoveObjectTag::loader)) // 28
+    (TagPair(SWF::SYNCFRAME, fixme_loader)) // 29
     // 30 - _UNKNOWN_ unimplemented
-    (SWF::FREEALL, fixme_loader) // 31
-    (SWF::DEFINESHAPE3,  DefineShapeTag::loader)
-    (SWF::DEFINETEXT2, DefineText2Tag::loader)
+    (TagPair(SWF::FREEALL, fixme_loader)) // 31
+    (TagPair(SWF::DEFINESHAPE3,  DefineShapeTag::loader))
+    (TagPair(SWF::DEFINETEXT2, DefineText2Tag::loader))
     // 37
-    (SWF::DEFINEBUTTON2, DefineButton2Tag::loader)
-    (SWF::DEFINEBITSJPEG3, define_bits_jpeg3_loader)
-    (SWF::DEFINELOSSLESS2, define_bits_lossless_2_loader)
-    (SWF::DEFINEEDITTEXT, DefineEditTextTag::loader)
-    (SWF::DEFINEVIDEO, fixme_loader) // 38
-    (SWF::DEFINESPRITE,  sprite_loader)
-    (SWF::NAMECHARACTER, fixme_loader) // 40
-    (SWF::SERIALNUMBER,  serialnumber_loader) // 41
-    (SWF::DEFINETEXTFORMAT, fixme_loader) // 42
-    (SWF::FRAMELABEL,  frame_label_loader) // 43
+    (TagPair(SWF::DEFINEBUTTON2, DefineButton2Tag::loader))
+    (TagPair(SWF::DEFINEBITSJPEG3, define_bits_jpeg3_loader))
+    (TagPair(SWF::DEFINELOSSLESS2, define_bits_lossless_2_loader))
+    (TagPair(SWF::DEFINEEDITTEXT, DefineEditTextTag::loader))
+    (TagPair(SWF::DEFINEVIDEO, fixme_loader)) // 38
+    (TagPair(SWF::DEFINESPRITE,  sprite_loader))
+    (TagPair(SWF::NAMECHARACTER, fixme_loader)) // 40
+    (TagPair(SWF::SERIALNUMBER,  serialnumber_loader)) // 41
+    (TagPair(SWF::DEFINETEXTFORMAT, fixme_loader)) // 42
+    (TagPair(SWF::FRAMELABEL,  frame_label_loader)) // 43
 
     // TODO: Implement, but fixme_loader breaks tests.
-    (SWF::DEFINEBEHAVIOR, fixme_loader) // 44
+    (TagPair(SWF::DEFINEBEHAVIOR, fixme_loader)) // 44
 
-    (SWF::SOUNDSTREAMHEAD2, sound_stream_head_loader) // 45
+    (TagPair(SWF::SOUNDSTREAMHEAD2, sound_stream_head_loader)) // 45
     // 46
-    (SWF::DEFINEMORPHSHAPE, DefineMorphShapeTag::loader)
-    (SWF::FRAMETAG,  fixme_loader) // 47
+    (TagPair(SWF::DEFINEMORPHSHAPE, DefineMorphShapeTag::loader))
+    (TagPair(SWF::FRAMETAG,  fixme_loader)) // 47
     // 48
-    (SWF::DEFINEFONT2, DefineFontTag::loader)
-    (SWF::GENCOMMAND,  fixme_loader) // 49
-    (SWF::DEFINECOMMANDOBJ, fixme_loader) // 50
-    (SWF::CHARACTERSET,  fixme_loader) // 51
-    (SWF::FONTREF, fixme_loader) // 52
+    (TagPair(SWF::DEFINEFONT2, DefineFontTag::loader))
+    (TagPair(SWF::GENCOMMAND,  fixme_loader)) // 49
+    (TagPair(SWF::DEFINECOMMANDOBJ, fixme_loader)) // 50
+    (TagPair(SWF::CHARACTERSET,  fixme_loader)) // 51
+    (TagPair(SWF::FONTREF, fixme_loader)) // 52
 
     // TODO: Implement, but fixme_loader breaks tests.
-    (SWF::DEFINEFUNCTION, fixme_loader) // 53 
-    (SWF::PLACEFUNCTION, fixme_loader) // 54 
-    (SWF::GENTAGOBJECT, fixme_loader) // 55 
+    (TagPair(SWF::DEFINEFUNCTION, fixme_loader)) // 53 
+    (TagPair(SWF::PLACEFUNCTION, fixme_loader)) // 54 
+    (TagPair(SWF::GENTAGOBJECT, fixme_loader)) // 55 
 
-    (SWF::EXPORTASSETS, export_loader) // 56
-    (SWF::IMPORTASSETS, import_loader) // 57
+    (TagPair(SWF::EXPORTASSETS, export_loader)) // 56
+    (TagPair(SWF::IMPORTASSETS, import_loader)) // 57
 
     //  We're not an authoring tool so we don't care.
     // (might be nice to dump the password instead..)
-    (SWF::ENABLEDEBUGGER, null_loader)    // 58
+    (TagPair(SWF::ENABLEDEBUGGER, null_loader))    // 58
 
     // 59
-    (SWF::INITACTION, DoInitActionTag::loader) 
+    (TagPair(SWF::INITACTION, DoInitActionTag::loader)) 
     // 60
-    (SWF::DEFINEVIDEOSTREAM, DefineVideoStreamTag::loader)
+    (TagPair(SWF::DEFINEVIDEOSTREAM, DefineVideoStreamTag::loader))
     // 61
-    (SWF::VIDEOFRAME, VideoFrameTag::loader)
+    (TagPair(SWF::VIDEOFRAME, VideoFrameTag::loader))
 
     // 62, DEFINEFONTINFO2 is done above.
     // We're not an authoring tool.
-    (SWF::DEBUGID, null_loader) // 63
+    (TagPair(SWF::DEBUGID, null_loader)) // 63
 
     //  We're not an authoring tool so we don't care.
     // (might be nice to dump the password instead..)
-    (SWF::ENABLEDEBUGGER2, null_loader)    // 64
-    (SWF::SCRIPTLIMITS, ScriptLimitsTag::loader) //65
+    (TagPair(SWF::ENABLEDEBUGGER2, null_loader))    // 64
+    (TagPair(SWF::SCRIPTLIMITS, ScriptLimitsTag::loader)) //65
 
     // TODO: Fix this, but probably not critical.
-    (SWF::SETTABINDEX, SetTabIndexTag::loader) //66 
+    (TagPair(SWF::SETTABINDEX, SetTabIndexTag::loader)) //66 
 
     // TODO: Alexis reference says these are 83, 84. The 67, 68 comes from
     // Tamarin. Figure out which one is correct (possibly both are).
     // 67
-    (SWF::DEFINESHAPE4_, DefineShapeTag::loader)
+    (TagPair(SWF::DEFINESHAPE4_, DefineShapeTag::loader))
     // 68
-    (SWF::DEFINEMORPHSHAPE2_, DefineMorphShapeTag::loader)
+    (TagPair(SWF::DEFINEMORPHSHAPE2_, DefineMorphShapeTag::loader))
     // 69
-    (SWF::FILEATTRIBUTES, file_attributes_loader)
+    (TagPair(SWF::FILEATTRIBUTES, file_attributes_loader))
     // 70
-    (SWF::PLACEOBJECT3, PlaceObject2Tag::loader)
+    (TagPair(SWF::PLACEOBJECT3, PlaceObject2Tag::loader))
     // 71
-    (SWF::IMPORTASSETS2, import_loader)
+    (TagPair(SWF::IMPORTASSETS2, import_loader))
     // 73
-    (SWF::DEFINEALIGNZONES, DefineFontAlignZonesTag::loader)
+    (TagPair(SWF::DEFINEALIGNZONES, DefineFontAlignZonesTag::loader))
     // 74
-    (SWF::CSMTEXTSETTINGS, CSMTextSettingsTag::loader)
+    (TagPair(SWF::CSMTEXTSETTINGS, CSMTextSettingsTag::loader))
     // 75
-    (SWF::DEFINEFONT3, DefineFontTag::loader)
+    (TagPair(SWF::DEFINEFONT3, DefineFontTag::loader))
     // 77
-    (SWF::METADATA, metadata_loader)
+    (TagPair(SWF::METADATA, metadata_loader))
     // 78
-    (SWF::DEFINESCALINGGRID, DefineScalingGridTag::loader)
+    (TagPair(SWF::DEFINESCALINGGRID, DefineScalingGridTag::loader))
     // 83
-    (SWF::DEFINESHAPE4, DefineShapeTag::loader)
+    (TagPair(SWF::DEFINESHAPE4, DefineShapeTag::loader))
     // 84
-    (SWF::DEFINEMORPHSHAPE2, DefineMorphShapeTag::loader)
+    (TagPair(SWF::DEFINEMORPHSHAPE2, DefineMorphShapeTag::loader))
     // 88
-    (SWF::DEFINEFONTNAME, DefineFontNameTag::loader)
+    (TagPair(SWF::DEFINEFONTNAME, DefineFontNameTag::loader))
     // 777
-    (SWF::REFLEX, reflex_loader)
+    (TagPair(SWF::REFLEX, reflex_loader))
 
 #ifdef ENABLE_AVM2
     // The following tags are AVM2 only.
     // 72 -- AS3 codeblock.
-    (SWF::DOABC, DoABCTag::loader) 
+    (TagPair(SWF::DOABC, DoABCTag::loader)) 
     // 76
-    (SWF::SYMBOLCLASS, SymbolClassTag::loader)
+    (TagPair(SWF::SYMBOLCLASS, SymbolClassTag::loader))
     // 82
-    (SWF::DOABCDEFINE, DoABCTag::loader)
+    (TagPair(SWF::DOABCDEFINE, DoABCTag::loader))
     // 86
-    (SWF::DEFINESCENEANDFRAMELABELDATA,
-            DefineSceneAndFrameLabelDataTag::loader)
+    (TagPair(SWF::DEFINESCENEANDFRAMELABELDATA,
+            DefineSceneAndFrameLabelDataTag::loader))
 #endif
     ;
 
--- gnash-0.8.6.orig/libcore/as_value.cpp	2009-09-13 19:22:17.000000000 -0400
+++ gnash-0.8.6/libcore/as_value.cpp	2009-12-09 00:05:30.187055696 -0500
@@ -2385,7 +2385,7 @@
 }
 
 bool
-as_value::readAMF0(const boost::uint8_t *&b, const boost::uint8_t *end,
+as_value::readAMF0(const boost::uint8_t *&b, const boost::uint8_t *const end,
         int inType, std::vector<as_object*>& objRefs, VM& vm)
 {
 	return amf0_read_value(b, end, *this, inType, objRefs, vm);
--- gnash-0.8.6.orig/libmedia/gst/VideoInputGst.cpp	2009-09-13 19:22:17.000000000 -0400
+++ gnash-0.8.6/libmedia/gst/VideoInputGst.cpp	2009-12-07 16:28:59.164119222 -0500
@@ -948,9 +948,9 @@
 {
     
     for (int i = 0; i < webcam->_currentFormat->numFramerates; ++i) {
-        int val = std::ceil(
+        int val = std::ceil(static_cast<double>(
                 webcam->_currentFormat->framerates[i].numerator /
-               webcam->_currentFormat->framerates[i].denominator);
+               webcam->_currentFormat->framerates[i].denominator));
         if (val == fps) {
             return true;
         }