[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog backend/Makefile.am server/butt... [relea
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog backend/Makefile.am server/butt... [release_0_8_2_rc1] |
Date: |
Thu, 03 Apr 2008 23:14:06 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Branch: release_0_8_2_rc1
Changes by: Sandro Santilli <strk> 08/04/03 23:14:06
Modified files:
. : ChangeLog
backend : Makefile.am
server : button_character_instance.cpp dlist.cpp
sprite_instance.cpp sprite_instance.h
server/parser : sound_definition.cpp
server/vm : ASHandlers.cpp
Log message:
* backend/Makefile.am: distribute ogl backend
* server/button_character_instance.cpp: provide a _name property
* server/dlist.cpp: fix invalidated bounds bug
* server/sprite_instance.{cpp,h},
server/parser/sound_definition.cpp,
server/vm/ASHandlers.cpp: always stop any streaming sound
when the
sprite is stopped or unloaded.
See http://wiki.gnashdev.org/wiki/index.php/Release_0_8_2_1
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&only_with_tag=release_0_8_2_rc1&r1=1.5711.2.54&r2=1.5711.2.55
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/Makefile.am?cvsroot=gnash&only_with_tag=release_0_8_2_rc1&r1=1.68&r2=1.68.2.1
http://cvs.savannah.gnu.org/viewcvs/gnash/server/button_character_instance.cpp?cvsroot=gnash&only_with_tag=release_0_8_2_rc1&r1=1.81&r2=1.81.2.1
http://cvs.savannah.gnu.org/viewcvs/gnash/server/dlist.cpp?cvsroot=gnash&only_with_tag=release_0_8_2_rc1&r1=1.114&r2=1.114.2.1
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&only_with_tag=release_0_8_2_rc1&r1=1.480.2.2&r2=1.480.2.3
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.h?cvsroot=gnash&only_with_tag=release_0_8_2_rc1&r1=1.171&r2=1.171.2.1
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/sound_definition.cpp?cvsroot=gnash&only_with_tag=release_0_8_2_rc1&r1=1.10&r2=1.10.2.1
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ASHandlers.cpp?cvsroot=gnash&only_with_tag=release_0_8_2_rc1&r1=1.199.2.1&r2=1.199.2.2
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5711.2.54
retrieving revision 1.5711.2.55
diff -u -b -r1.5711.2.54 -r1.5711.2.55
--- ChangeLog 4 Mar 2008 18:21:55 -0000 1.5711.2.54
+++ ChangeLog 3 Apr 2008 23:14:02 -0000 1.5711.2.55
@@ -1,3 +1,12 @@
+2008-04-04 Sandro Santilli <address@hidden>
+
+ * backend/Makefile.am: distribute ogl backend
+ * server/button_character_instance.cpp: provide a _name property
+ * server/dlist.cpp: fix invalidated bounds bug
+ * server/sprite_instance.{cpp,h}, server/parser/sound_definition.cpp,
+ server/vm/ASHandlers.cpp: always stop any streaming sound when the
+ sprite is stopped or unloaded.
+
2008-03-04 Sandro Santilli <address@hidden>
* doc/C/Makefile.am: remove generated dox on 'make clean'
Index: backend/Makefile.am
===================================================================
RCS file: /sources/gnash/gnash/backend/Makefile.am,v
retrieving revision 1.68
retrieving revision 1.68.2.1
diff -u -b -r1.68 -r1.68.2.1
--- backend/Makefile.am 21 Jan 2008 20:56:04 -0000 1.68
+++ backend/Makefile.am 3 Apr 2008 23:14:03 -0000 1.68.2.1
@@ -16,7 +16,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
-# $Id: Makefile.am,v 1.68 2008/01/21 20:56:04 rsavoye Exp $
+# $Id: Makefile.am,v 1.68.2.1 2008/04/03 23:14:03 strk Exp $
## Process this file with automake to generate Makefile.in
@@ -59,7 +59,8 @@
render_handler_agg_bitmap.h \
render_handler_agg_compat.h \
render_handler_agg_style.h \
- render_handler_cairo.h
+ render_handler_cairo.h \
+ render_handler_ogl.h
# bin_PROGRAMS = gnash
Index: server/button_character_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/button_character_instance.cpp,v
retrieving revision 1.81
retrieving revision 1.81.2.1
diff -u -b -r1.81 -r1.81.2.1
--- server/button_character_instance.cpp 11 Feb 2008 12:55:21 -0000
1.81
+++ server/button_character_instance.cpp 3 Apr 2008 23:14:03 -0000
1.81.2.1
@@ -226,6 +226,9 @@
gettersetter = new builtin_function(&character::target_getset, NULL);
o.init_property("_target", *gettersetter, *gettersetter);
+ gettersetter = new builtin_function(&character::name_getset, NULL);
+ o.init_property("_name", *gettersetter, *gettersetter);
+
#if 0
gettersetter = new builtin_function(&character::onrollover_getset,
NULL);
Index: server/dlist.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/dlist.cpp,v
retrieving revision 1.114
retrieving revision 1.114.2.1
diff -u -b -r1.114 -r1.114.2.1
--- server/dlist.cpp 19 Feb 2008 19:20:53 -0000 1.114
+++ server/dlist.cpp 3 Apr 2008 23:14:04 -0000 1.114.2.1
@@ -657,11 +657,15 @@
if (mask->boundsInClippingArea())
mask->display();
+ else
+ mask->clear_invalidated(); // avoid stale flag
render::end_submit_mask();
if (ch->boundsInClippingArea())
ch->display();
+ else
+ ch->clear_invalidated(); // avoid stale flag
render::disable_mask();
@@ -715,6 +719,8 @@
if (ch->boundsInClippingArea())
ch->display();
+ else
+ ch->clear_invalidated(); // avoid stale flag
// Notify the renderer that mask drawing has finished.
if (ch->isMaskLayer())
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.480.2.2
retrieving revision 1.480.2.3
diff -u -b -r1.480.2.2 -r1.480.2.3
--- server/sprite_instance.cpp 4 Mar 2008 11:03:59 -0000 1.480.2.2
+++ server/sprite_instance.cpp 3 Apr 2008 23:14:04 -0000 1.480.2.3
@@ -180,16 +180,6 @@
sprite->set_play_state(sprite_instance::STOP);
- // Stop sound stream as well, if such exist
- int stream_id = sprite->get_sound_stream_id();
- if (sprite->get_sound_stream_id() != -1) {
- media::sound_handler* sh = get_sound_handler();
- if (sh != NULL) sh->stop_sound(stream_id);
- sprite->set_sound_stream_id(-1);
- }
-
-/* media::sound_handler* sh = get_sound_handler();
- if (sh != NULL) sh->stop_all_sounds();*/
return as_value();
}
@@ -2247,6 +2237,8 @@
sprite_instance::~sprite_instance()
{
+ stopStreamSound();
+
// We might have been deleted by Quit...
//assert(isDestroyed());
@@ -2431,10 +2423,12 @@
return;
}
+#if 0 // why would we want to do this ?
// Set the current sound_stream_id to -1, meaning that no stream are
// active. If there are an active stream it will be updated while
// executing the ControlTags.
set_sound_stream_id(-1);
+#endif
// Execute the ControlTag actions
// We set _callingFrameActions to true so that add_action_buffer
@@ -3049,12 +3043,9 @@
}
// Unless the target frame is the next one, stop playback of soundstream
- int stream_id = get_sound_stream_id();
- if (target_frame_number != m_current_frame+1 && stream_id != -1)
+ if (target_frame_number != m_current_frame+1 )
{
- media::sound_handler* sh = get_sound_handler();
- if (sh != NULL) sh->stop_sound(stream_id);
- set_sound_stream_id(-1);
+ stopStreamSound();
}
size_t loaded_frames = get_loaded_frames();
@@ -3817,9 +3808,8 @@
// It shouldn't happen anyway.
// TODO: drop this function.
- // Stop all sounds
- media::sound_handler* sh = get_sound_handler();
- if (sh != NULL) sh->stop_all_sounds();
+ // Stop any streaming sound associated with us
+ stopStreamSound();
if( ! isUnloaded() )
{
@@ -4158,6 +4148,9 @@
log_debug(_("Unloading sprite '%s'"), getTargetPath().c_str());
#endif
+ // stop any pending streaming sounds
+ stopStreamSound();
+
bool childHaveUnloadHandler = m_display_list.unload();
// We won't be displayed again, so worth releasing
@@ -4500,6 +4493,8 @@
void
sprite_instance::destroy()
{
+ stopStreamSound();
+
m_display_list.destroy();
/// We don't need these anymore
@@ -4557,4 +4552,37 @@
}
+void
+sprite_instance::setStreamSoundId(int id)
+{
+ if ( id != m_sound_stream_id )
+ {
+ log_debug("Stream sound id from %d to %d, stopping old",
m_sound_stream_id, id);
+ stopStreamSound();
+ }
+ m_sound_stream_id = id;
+}
+
+void
+sprite_instance::stopStreamSound()
+{
+ if ( m_sound_stream_id == -1 ) return; // nothing to do
+
+ media::sound_handler* handler = get_sound_handler(); // TODO: chache ?
+ if (handler)
+ {
+ handler->stop_sound(m_sound_stream_id);
+ }
+
+ m_sound_stream_id = -1;
+}
+
+void
+sprite_instance::set_play_state(play_state s)
+{
+ if ( s == m_play_state ) return; // nothing to do
+ if ( s == sprite_instance::STOP ) stopStreamSound();
+ m_play_state = s;
+}
+
} // namespace gnash
Index: server/sprite_instance.h
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.h,v
retrieving revision 1.171
retrieving revision 1.171.2.1
diff -u -b -r1.171 -r1.171.2.1
--- server/sprite_instance.h 20 Feb 2008 14:46:28 -0000 1.171
+++ server/sprite_instance.h 3 Apr 2008 23:14:05 -0000 1.171.2.1
@@ -179,11 +179,11 @@
}
/// Stop or play the sprite.
- void set_play_state(play_state s)
- {
- //if (m_play_state != s) m_time_remainder = 0;
- m_play_state = s;
- }
+ //
+ /// If stopped, any stream sound associated with this sprite
+ /// will also be stopped.
+ ///
+ void set_play_state(play_state s);
play_state get_play_state() const { return m_play_state; }
@@ -743,11 +743,11 @@
#endif
}
- /// Set the current m_sound_stream_id
- virtual void set_sound_stream_id(int id){ m_sound_stream_id = id; }
-
- /// Get the current m_sound_stream_id
- virtual int get_sound_stream_id() { return m_sound_stream_id;}
+ /// Set the currently playing m_sound_stream_id
+ //
+ // TODO: rename to setStreamingSoundId
+ //
+ void setStreamSoundId(int id);
/// Remove this sprite from the stage.
//
@@ -877,6 +877,8 @@
private:
+ void stopStreamSound();
+
/// Register this sprite as a listener of core broadcasters
//
/// This is currently only used for key events broadcaster
Index: server/parser/sound_definition.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/sound_definition.cpp,v
retrieving revision 1.10
retrieving revision 1.10.2.1
diff -u -b -r1.10 -r1.10.2.1
--- server/parser/sound_definition.cpp 24 Nov 2007 17:21:45 -0000 1.10
+++ server/parser/sound_definition.cpp 3 Apr 2008 23:14:05 -0000 1.10.2.1
@@ -48,7 +48,7 @@
if (handler)
{
// This makes it possible to stop only the stream when
framejumping.
- m->set_sound_stream_id(m_handler_id);
+ m->setStreamSoundId(m_handler_id);
handler->play_sound(m_handler_id, 0, 0, m_start, NULL);
}
}
Index: server/vm/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ASHandlers.cpp,v
retrieving revision 1.199.2.1
retrieving revision 1.199.2.2
diff -u -b -r1.199.2.1 -r1.199.2.2
--- server/vm/ASHandlers.cpp 3 Mar 2008 09:22:39 -0000 1.199.2.1
+++ server/vm/ASHandlers.cpp 3 Apr 2008 23:14:05 -0000 1.199.2.2
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-/* $Id: ASHandlers.cpp,v 1.199.2.1 2008/03/03 09:22:39 strk Exp $ */
+/* $Id: ASHandlers.cpp,v 1.199.2.2 2008/04/03 23:14:05 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "gnashconfig.h"
@@ -535,16 +535,8 @@
assert( code[thread.pc] == SWF::ACTION_STOP );
#endif
- media::sound_handler* s = get_sound_handler();
-
sprite_instance* tgt = env.get_target()->to_movie();
assert(tgt);
- int stream_id = tgt->get_sound_stream_id();
-
- if (s != NULL && stream_id != -1)
- {
- s->stop_sound(stream_id);
- }
tgt->set_play_state(sprite_instance::STOP);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog backend/Makefile.am server/butt... [release_0_8_2_rc1],
Sandro Santilli <=