Browse Source

Merge remote-tracking branch 'origin/release/1.9.x'

rdb 10 years ago
parent
commit
1e4a39d68e

+ 1 - 1
direct/src/p3d/AppRunner.py

@@ -472,7 +472,7 @@ class AppRunner(DirectObject):
             file.unlink()
             file.unlink()
             return False
             return False
 
 
-        if not fileSpec.fullVerify(pathname = localPathname):
+        if not fileSpec.fullVerify(pathname = localPathname, notify = self.notify):
             # No good after download.
             # No good after download.
             self.notify.info("%s is still no good after downloading." % (url))
             self.notify.info("%s is still no good after downloading." % (url))
             return False
             return False

+ 2 - 2
direct/src/p3d/DeploymentTools.py

@@ -73,7 +73,7 @@ class Standalone:
 
 
         self.tempDir = Filename.temporary("", self.basename, "") + "/"
         self.tempDir = Filename.temporary("", self.basename, "") + "/"
         self.tempDir.makeDir()
         self.tempDir.makeDir()
-        self.host = HostInfo(PandaSystem.getPackageHostUrl(), appRunner = appRunner, hostDir = self.tempDir, asMirror = False)
+        self.host = HostInfo(PandaSystem.getPackageHostUrl(), appRunner = appRunner, hostDir = self.tempDir, asMirror = False, perPlatform = True)
 
 
         self.http = HTTPClient.getGlobalPtr()
         self.http = HTTPClient.getGlobalPtr()
         if not self.host.hasContentsFile:
         if not self.host.hasContentsFile:
@@ -233,7 +233,7 @@ class PackageTree:
         if hostUrl in self.hosts:
         if hostUrl in self.hosts:
             return self.hosts[hostUrl]
             return self.hosts[hostUrl]
 
 
-        host = HostInfo(hostUrl, appRunner = appRunner, hostDir = self.hostDir, asMirror = False)
+        host = HostInfo(hostUrl, appRunner = appRunner, hostDir = self.hostDir, asMirror = False, perPlatform = True)
         if not host.hasContentsFile:
         if not host.hasContentsFile:
             if not host.readContentsFile():
             if not host.readContentsFile():
                 if not host.downloadContentsFile(self.http):
                 if not host.downloadContentsFile(self.http):

+ 3 - 3
direct/src/p3d/Packager.py

@@ -3008,10 +3008,10 @@ class Packager:
             # environment.
             # environment.
             return None
             return None
 
 
+        # Make sure we have a fresh version of the contents file.
         host = appRunner.getHost(hostUrl)
         host = appRunner.getHost(hostUrl)
-        if not host.readContentsFile():
-            if not host.downloadContentsFile(appRunner.http):
-                return None
+        if not host.downloadContentsFile(appRunner.http):
+            return None
 
 
         packageInfos = []
         packageInfos = []
         packageInfo = host.getPackage(packageName, version, platform = platform)
         packageInfo = host.getPackage(packageName, version, platform = platform)

+ 7 - 6
direct/src/p3d/packp3d.py

@@ -170,19 +170,20 @@ def makePackedApp(args):
       appDir = Filename('.')
       appDir = Filename('.')
     appBase = appFilename.getBasenameWoExtension()
     appBase = appFilename.getBasenameWoExtension()
 
 
-    if not main:
+    if main:
+        main = Filename.fromOsSpecific(main)
+        main.makeAbsolute(root)
+    else:
         main = Filename(root, 'main.py')
         main = Filename(root, 'main.py')
-        if main.exists():
-            main = 'main.py'
-        else:
+        if not main.exists():
             main = glob.glob(os.path.join(root.toOsSpecific(), '*.py'))
             main = glob.glob(os.path.join(root.toOsSpecific(), '*.py'))
             if len(main) == 0:
             if len(main) == 0:
                 raise ArgumentError, 'No Python files in root directory.'
                 raise ArgumentError, 'No Python files in root directory.'
             elif len(main) > 1:
             elif len(main) > 1:
                 raise ArgumentError, 'Multiple Python files in root directory; specify the main application with -m "main".'
                 raise ArgumentError, 'Multiple Python files in root directory; specify the main application with -m "main".'
-            main = os.path.split(main[0])[1]
 
 
-    main = Filename.fromOsSpecific(main)
+            main = Filename.fromOsSpecific(os.path.split(main[0])[1])
+            main.makeAbsolute(root)
 
 
     packager.installDir = appDir
     packager.installDir = appDir
     packager.allowPythonDev = allowPythonDev
     packager.allowPythonDev = allowPythonDev

+ 1 - 0
panda/src/pnmtext/freetypeFont.cxx

@@ -68,6 +68,7 @@ FreetypeFont(const FreetypeFont &copy) :
   _requested_scale_factor(copy._requested_scale_factor),
   _requested_scale_factor(copy._requested_scale_factor),
   _scale_factor(copy._scale_factor),
   _scale_factor(copy._scale_factor),
   _native_antialias(copy._native_antialias),
   _native_antialias(copy._native_antialias),
+  _font_pixels_per_unit(copy._font_pixels_per_unit),
   _line_height(copy._line_height),
   _line_height(copy._line_height),
   _space_advance(copy._space_advance),
   _space_advance(copy._space_advance),
   _face(copy._face),
   _face(copy._face),

+ 11 - 0
panda/src/windisplay/winGraphicsWindow.cxx

@@ -284,6 +284,17 @@ set_properties_now(WindowProperties &properties) {
     properties.clear_title();
     properties.clear_title();
   }
   }
 
 
+  if (properties.has_icon_filename()) {
+    HICON icon = get_icon(properties.get_icon_filename());
+    if (icon != 0) {
+      ::SendMessage(_hWnd, WM_SETICON, ICON_SMALL, (LPARAM)icon);
+      ::SendMessage(_hWnd, WM_SETICON, ICON_BIG, (LPARAM)icon);
+
+      _properties.set_icon_filename(properties.get_icon_filename());
+      properties.clear_icon_filename();
+    }
+  }
+
   if (properties.has_cursor_hidden()) {
   if (properties.has_cursor_hidden()) {
     bool hide_cursor = properties.get_cursor_hidden();
     bool hide_cursor = properties.get_cursor_hidden();
     _properties.set_cursor_hidden(hide_cursor);
     _properties.set_cursor_hidden(hide_cursor);