OSDN Git Service

Use the Job Object only on Windows XP and later. This avoids a bunch of warnings...
authorlordmulder <mulder2@gmx.de>
Fri, 2 Mar 2012 13:31:13 +0000 (14:31 +0100)
committerlordmulder <mulder2@gmx.de>
Fri, 2 Mar 2012 13:31:13 +0000 (14:31 +0100)
src/Config.h
src/Tool_Abstract.cpp

index a6b6351..9805c84 100644 (file)
@@ -30,7 +30,7 @@
 #define VER_LAMEXP_MINOR_LO                                    4
 #define VER_LAMEXP_TYPE                                                Beta
 #define VER_LAMEXP_PATCH                                       4
-#define VER_LAMEXP_BUILD                                       898
+#define VER_LAMEXP_BUILD                                       899
 
 ///////////////////////////////////////////////////////////////////////////////
 // Tool versions (minimum expected versions!)
index 46dbf9f..ff8935e 100644 (file)
@@ -68,11 +68,15 @@ AbstractTool::AbstractTool(void)
 
        if(m_jobObjRefCount < 1U)
        {
-               if(!CreateJobObjectPtr || !SetInformationJobObjectPtr)
+               DWORD osVersionNo = lamexp_get_os_version();
+               if(((HIWORD(osVersionNo) == 5) && (LOWORD(osVersionNo) >= 1)) || (HIWORD(osVersionNo) > 5))
                {
-                       QLibrary Kernel32Lib("kernel32.dll");
-                       CreateJobObjectPtr = (CreateJobObjectFun) Kernel32Lib.resolve("CreateJobObjectA");
-                       SetInformationJobObjectPtr = (SetInformationJobObjectFun) Kernel32Lib.resolve("SetInformationJobObject");
+                       if((!CreateJobObjectPtr) || (!SetInformationJobObjectPtr))
+                       {
+                               QLibrary Kernel32Lib("kernel32.dll");
+                               CreateJobObjectPtr = (CreateJobObjectFun) Kernel32Lib.resolve("CreateJobObjectA");
+                               SetInformationJobObjectPtr = (SetInformationJobObjectFun) Kernel32Lib.resolve("SetInformationJobObject");
+                       }
                }
                if(CreateJobObjectPtr && SetInformationJobObjectPtr)
                {