Index: trunk/src/gui/gui_renderer.cc
===================================================================
--- trunk/src/gui/gui_renderer.cc	(revision 281)
+++ trunk/src/gui/gui_renderer.cc	(revision 299)
@@ -65,6 +65,6 @@
 {
 public:
-	screen_render_data( device* dev, size_t initial_size )
-		: buffer( dev, nv::DYNAMIC_DRAW, initial_size ), varray( nullptr ), shader(nullptr), texture(nullptr) 
+	screen_render_data( context* ctx, size_t initial_size )
+		: buffer( ctx, nv::DYNAMIC_DRAW, initial_size ), varray( nullptr ), shader(nullptr), texture(nullptr) 
 	{
 
@@ -98,4 +98,5 @@
 	, m_reupload( true )
 {
+	m_context = w->get_context();
 	m_area.dim( dimension( w->get_width(), w->get_height() ) );
 	region white = m_atlas.get_region( ivec2(3,3) );
@@ -107,5 +108,5 @@
 	delete[] wfill;
 
-	screen_render_data* sr = new screen_render_data( w->get_device(), 1024 );
+	screen_render_data* sr = new screen_render_data( w->get_context(), 1024 );
 	m_render_data = sr;
 	// ** EXTREMELY TEMPORARY!
@@ -261,5 +262,5 @@
 	if ( m_reupload )
 	{
-		sr->texture->assign( (void*)m_atlas.get_data() );
+		m_context->update( sr->texture, (void*)m_atlas.get_data() );
 		m_reupload = false;
 	}
@@ -272,6 +273,6 @@
 		sr->varray->update_vertex_buffer( nv::slot::COLOR,    vb, false );
 	}
-	sr->texture->bind( nv::TEX_DIFFUSE );
-	m_window->get_context()->draw( TRIANGLES, m_render_state, m_scene_state, sr->shader, sr->varray, sr->buffer.get_size() * 6 );
+	m_context->bind( sr->texture, TEX_DIFFUSE );
+	m_context->draw( TRIANGLES, m_render_state, m_scene_state, sr->shader, sr->varray, sr->buffer.get_size() * 6 );
 }
 
