diff --git a/direct/src/plugin_npapi/ppPandaObject.cxx b/direct/src/plugin_npapi/ppPandaObject.cxx index 8a52e12708..4e93c74709 100644 --- a/direct/src/plugin_npapi/ppPandaObject.cxx +++ b/direct/src/plugin_npapi/ppPandaObject.cxx @@ -126,7 +126,7 @@ invoke(NPIdentifier name, const NPVariant *args, uint32_t argCount, } P3D_object **p3dargs = new P3D_object *[argCount]; - for (int i = 0; i < argCount; ++i) { + for (unsigned int i = 0; i < argCount; ++i) { p3dargs[i] = _instance->variant_to_p3dobj(&args[i]); } @@ -162,7 +162,7 @@ invoke_default(const NPVariant *args, uint32_t argCount, } P3D_object **p3dargs = new P3D_object *[argCount]; - for (int i = 0; i < argCount; ++i) { + for (unsigned int i = 0; i < argCount; ++i) { p3dargs[i] = _instance->variant_to_p3dobj(&args[i]); } diff --git a/direct/src/showutil/runp3d.py b/direct/src/showutil/runp3d.py index b416fd2a06..b86bd2d6ce 100755 --- a/direct/src/showutil/runp3d.py +++ b/direct/src/showutil/runp3d.py @@ -22,7 +22,7 @@ See pack3d.py for a script that generates these p3d files. import sys from direct.showbase import VFSImporter from direct.showbase.DirectObject import DirectObject -from pandac.PandaModules import VirtualFileSystem, Filename, Multifile, loadPrcFileData, unloadPrcFile, getModelPath, HTTPClient, Thread +from pandac.PandaModules import VirtualFileSystem, Filename, Multifile, loadPrcFileData, unloadPrcFile, getModelPath, HTTPClient, Thread, WindowProperties from direct.stdpy import file from direct.task.TaskManagerGlobal import taskMgr from direct.showbase import AppRunnerGlobal @@ -244,6 +244,7 @@ class AppRunner(DirectObject): self.startIfReady() def setupWindow(self, windowType, x, y, width, height, parent): + print "setupWindow %s, %s, %s, %s, %s, %s" % (windowType, x, y, width, height, parent) if windowType == 'hidden': data = 'window-type none\n' else: @@ -259,7 +260,7 @@ class AppRunner(DirectObject): else: data += 'parent-window-handle 0\n' - if x or y: + if x or y or windowType == 'embedded': data += 'win-origin %s %s\n' % (x, y) if width or height: data += 'win-size %s %s\n' % (width, height) @@ -268,8 +269,20 @@ class AppRunner(DirectObject): unloadPrcFile(self.windowPrc) self.windowPrc = loadPrcFileData("setupWindow", data) - self.gotWindow = True - self.startIfReady() + if self.started and base.win: + # If we've already got a window, this must be a + # resize/reposition request. + wp = WindowProperties() + if x or y or windowType == 'embedded': + wp.setOrigin(x, y) + if width or height: + wp.setSize(width, height) + base.win.requestProperties(wp) + + else: + # If we haven't got a window already, start 'er up. + self.gotWindow = True + self.startIfReady() def setRequestFunc(self, func): """ This method is called by the plugin at startup to supply a