Browse Source

gui: Allow OnscreenImage to be used before ShowBase is created

Use TexturePool directly instead of a loader being present in the builtins

Fixes #1209
rdb 4 years ago
parent
commit
24755bc8eb
1 changed files with 3 additions and 1 deletions
  1. 3 1
      direct/src/gui/OnscreenImage.py

+ 3 - 1
direct/src/gui/OnscreenImage.py

@@ -114,7 +114,9 @@ class OnscreenImage(DirectObject, NodePath):
                 tex = image
                 tex = image
             else:
             else:
                 # It's a Texture file name
                 # It's a Texture file name
-                tex = loader.loadTexture(image)
+                tex = TexturePool.loadTexture(image)
+                if not tex:
+                    raise IOError('Could not load texture: %s' % (image))
             cm = CardMaker('OnscreenImage')
             cm = CardMaker('OnscreenImage')
             cm.setFrame(-1, 1, -1, 1)
             cm.setFrame(-1, 1, -1, 1)
             self.assign(parent.attachNewNode(cm.generate(), sort))
             self.assign(parent.attachNewNode(cm.generate(), sort))