From: Braden M. <br...@us...> - 2007-01-23 04:08:12
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv26117 Modified Files: Tag: OpenVRML-0_16-BRANCH ChangeLog Log Message: Because of the way rendering is currently intertwined with the core runtime, we can't safely do much while the browser is loading a new world. So, use an openvrml::browser_event::initialized event to trigger making the widget usable again. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1310.2.102 retrieving revision 1.1310.2.103 diff -C2 -d -r1.1310.2.102 -r1.1310.2.103 *** ChangeLog 22 Jan 2007 22:58:37 -0000 1.1310.2.102 --- ChangeLog 23 Jan 2007 04:08:06 -0000 1.1310.2.103 *************** *** 1,4 **** --- 1,39 ---- 2007-01-22 Braden McDaniel <br...@en...> + Because of the way rendering is currently intertwined with the + core runtime, we can't safely do much while the browser is loading + a new world. So, use an openvrml::browser_event::initialized + event to trigger making the widget usable again. + + * src/openvrml-gtkplug/gtkvrmlbrowser.cpp + (browser_listener): Added implementation of + openvrml::browser_listener to respond to browser events. + (GtkGLViewer): Granted friendship to browser_listener; granted + friendship to gtk_vrml_browser_motion_notify_event. Added members + browser_listener_, browser_initialized_, and + browser_initialized_mutex_. + (gtk_vrml_browser_load_url(GtkVrmlBrowser *, const gchar **, const + gchar **)): Set browser_initialized_ to false before loading a new + world. + (gtk_vrml_browser_set_world(GtkVrmlBrowser *, + openvrml::resource_istream &)): Set browser_initialized_ to false + before loading a new world. + (gtk_vrml_browser_expose_event(GtkWidget *, GdkEventExpose *, + gpointer)): Don't redraw if browser_initialized_ is false. + (gtk_vrml_browser_motion_notify_event(GtkWidget *, + GdkEventMotion*, gpointer)): If browser_initialized_ is false, + bail. + (browser_listener::browser_listener(GtkGLViewer &)): Added + constructor definition. + (browser_listener::do_browser_changed(const + openvrml::browser_event &)): Added function definition. + (GtkGLViewer::GtkGLViewer(GIOChannel &, GtkVrmlBrowser &)): + Initialize browser_listener_ and browser_initialized_. Add + browser_listener_ to the browser. + (GtkGLViewer::~GtkGLViewer()): Remove browser_listener_ from the + browser. + + 2007-01-22 Braden McDaniel <br...@en...> + * src/libopenvrml-gl/openvrml/gl/viewer.cpp (openvrml::gl::viewer::insert_background(const |