Skip to content

Commit

Permalink
Changes for 3ds Max 2024
Browse files Browse the repository at this point in the history
  • Loading branch information
haberlu committed Mar 30, 2023
1 parent fd6cc38 commit 2d239b5
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 8 deletions.
4 changes: 3 additions & 1 deletion src/corelib/io/qlockfile_win.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@
#include "QtCore/qdebug.h"
#include "QtCore/qthread.h"

#include "private/qsystemlibrary_p.h"

QT_BEGIN_NAMESPACE

static inline bool fileExists(const wchar_t *fileName)
Expand Down Expand Up @@ -150,7 +152,7 @@ QString QLockFilePrivate::processNameByPid(qint64 pid)
#if !defined(Q_OS_WINRT)
typedef DWORD (WINAPI *GetModuleFileNameExFunc)(HANDLE, HMODULE, LPTSTR, DWORD);

HMODULE hPsapi = LoadLibraryA("psapi");
HMODULE hPsapi = QSystemLibrary::load(L"psapi");
if (!hPsapi)
return QString();
GetModuleFileNameExFunc qGetModuleFileNameEx = reinterpret_cast<GetModuleFileNameExFunc>(
Expand Down
3 changes: 2 additions & 1 deletion src/network/kernel/qauthenticator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
#include <qstring.h>
#include <qdatetime.h>
#include <qrandom.h>
#include "private/qsystemlibrary_p.h"

#ifdef Q_OS_WIN
#include <qmutex.h>
Expand Down Expand Up @@ -1502,7 +1503,7 @@ static bool q_SSPI_library_load()

// Initialize security interface
if (pSecurityFunctionTable == nullptr) {
securityDLLHandle = LoadLibrary(L"secur32.dll");
securityDLLHandle = QSystemLibrary::load(L"secur32");
if (securityDLLHandle != nullptr) {
INIT_SECURITY_INTERFACE pInitSecurityInterface =
reinterpret_cast<INIT_SECURITY_INTERFACE>(
Expand Down
17 changes: 12 additions & 5 deletions src/plugins/platforms/windows/qwindowsglcontext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
#include <qpa/qplatformnativeinterface.h>
#include <QtPlatformHeaders/qwglnativecontext.h>

#include <private/qsystemlibrary_p.h>
#include <algorithm>

#include <wingdi.h>
Expand Down Expand Up @@ -162,19 +163,25 @@ QFunctionPointer QWindowsOpengl32DLL::resolve(const char *name)

bool QWindowsOpengl32DLL::init(bool softwareRendering)
{
const QByteArray opengl32 = QByteArrayLiteral("opengl32.dll");
const QByteArray swopengl = QByteArrayLiteral("opengl32sw.dll");
const QByteArray opengl32 = QByteArrayLiteral("opengl32");
const QByteArray swopengl = QByteArrayLiteral("opengl32sw");
bool useSystemLib = false;

QByteArray openglDll = qgetenv("QT_OPENGL_DLL");
if (openglDll.isEmpty())
if (openglDll.isEmpty()) {
openglDll = softwareRendering ? swopengl : opengl32;
useSystemLib = !softwareRendering;
}

openglDll = openglDll.toLower();
m_nonOpengl32 = openglDll != opengl32;

qCDebug(lcQpaGl) << "Qt: Using WGL and OpenGL from" << openglDll;

m_lib = ::LoadLibraryA(openglDll.constData());
if (useSystemLib)
m_lib = QSystemLibrary::load((wchar_t*)(QString::fromLatin1(openglDll).utf16()));
else
m_lib = LoadLibraryA(openglDll.constData());
if (!m_lib) {
qErrnoWarning(::GetLastError(), "Failed to load %s", openglDll.constData());
return false;
Expand All @@ -184,7 +191,7 @@ bool QWindowsOpengl32DLL::init(bool softwareRendering)
// Load opengl32.dll always. GDI functions like ChoosePixelFormat do
// GetModuleHandle for opengl32.dll and behave differently (and call back into
// opengl32) when the module is present. This is fine for dummy contexts and windows.
::LoadLibraryA("opengl32.dll");
QSystemLibrary::load(L"opengl32");
}

wglCreateContext = reinterpret_cast<HGLRC (WINAPI *)(HDC)>(resolve("wglCreateContext"));
Expand Down
3 changes: 2 additions & 1 deletion src/plugins/platforms/windows/qwindowsopengltester.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
#include <QtCore/qstandardpaths.h>
#include <QtCore/qlibraryinfo.h>
#include <QtCore/qhash.h>
#include <private/qsystemlibrary_p.h>

#ifndef QT_NO_OPENGL
#include <private/qopengl_p.h>
Expand Down Expand Up @@ -396,7 +397,7 @@ bool QWindowsOpenGLTester::testDesktopGL()

// Test #1: Load opengl32.dll and try to resolve an OpenGL 2 function.
// This will typically fail on systems that do not have a real OpenGL driver.
lib = LoadLibraryA("opengl32.dll");
lib = QSystemLibrary::load(L"opengl32");
if (lib) {
CreateContext = reinterpret_cast<CreateContextType>(
reinterpret_cast<QFunctionPointer>(::GetProcAddress(lib, "wglCreateContext")));
Expand Down

0 comments on commit 2d239b5

Please sign in to comment.