]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/surfacedialog.cpp
no
[xonotic/netradiant.git] / radiant / surfacedialog.cpp
index f4471578bf404487d5479b9b468f4ddcfbe2ae4c..0d39a951b3cf8740ef75f95b0ad984187bb1d224 100644 (file)
@@ -1330,21 +1330,20 @@ void TextureClipboard_textureSelected( const char* shader ){
 }
 
 class TextureBrowser;
-extern TextureBrowser g_TextureBrowser;
 void TextureBrowser_SetSelectedShader( TextureBrowser& textureBrowser, const char* shader );
 const char* TextureBrowser_GetSelectedShader( TextureBrowser& textureBrowser );
 
 void Scene_copyClosestTexture( SelectionTest& test ){
        CopiedString shader;
        if ( Scene_getClosestTexture( GlobalSceneGraph(), test, shader, g_faceTextureClipboard.m_projection, g_faceTextureClipboard.m_flags ) ) {
-               TextureBrowser_SetSelectedShader( g_TextureBrowser, shader.c_str() );
+               TextureBrowser_SetSelectedShader( GlobalTextureBrowser(), shader.c_str() );
        }
 }
 
 void Scene_applyClosestTexture( SelectionTest& test ){
        UndoableCommand command( "facePaintTexture" );
 
-       Scene_setClosestTexture( GlobalSceneGraph(), test, TextureBrowser_GetSelectedShader( g_TextureBrowser ), g_faceTextureClipboard.m_projection, g_faceTextureClipboard.m_flags );
+       Scene_setClosestTexture( GlobalSceneGraph(), test, TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), g_faceTextureClipboard.m_projection, g_faceTextureClipboard.m_flags );
 
        SceneChangeNotify();
 }
@@ -1359,13 +1358,13 @@ void SelectedFaces_copyTexture(){
                face.GetTexdef( g_faceTextureClipboard.m_projection );
                g_faceTextureClipboard.m_flags = face.getShader().m_flags;
 
-               TextureBrowser_SetSelectedShader( g_TextureBrowser, face.getShader().getShader() );
+               TextureBrowser_SetSelectedShader( GlobalTextureBrowser(), face.getShader().getShader() );
        }
 }
 
 void FaceInstance_pasteTexture( FaceInstance& faceInstance ){
        faceInstance.getFace().SetTexdef( g_faceTextureClipboard.m_projection );
-       faceInstance.getFace().SetShader( TextureBrowser_GetSelectedShader( g_TextureBrowser ) );
+       faceInstance.getFace().SetShader( TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ) );
        faceInstance.getFace().SetFlags( g_faceTextureClipboard.m_flags );
        SceneChangeNotify();
 }
@@ -1497,7 +1496,8 @@ void CopyPointsFromSelectedFace( void ){
        }
 
        Face & face = g_SelectedFaceInstances.last().getFace();
-       textureNum = face.getShader().m_state->getTexture().texture_number;
+       // FIXME: is it called by CamWindow thread?
+       textureNum = RequestBindTextureNumber( face.getShader().m_state->getTexture(), VP_CAMWINDOW );
        textureSize.x() = face.getShader().m_state->getTexture().width;
        textureSize.y() = face.getShader().m_state->getTexture().height;
 //globalOutputStream() << "--> Texture #" << textureNum << ": " << textureSize.x() << " x " << textureSize.y() << "...\n";