Merge branch 'blender2.7'

This commit is contained in:
Brecht Van Lommel 2019-01-14 12:43:34 +01:00
commit 7707bf203c
Notes: blender-bot 2023-02-14 06:17:14 +01:00
Referenced by issue #60819, using an empty to control a texture coordinate only updates in cycles , not eevee
Referenced by issue #60793, Image editor colour tools , sometimes don't show up
Referenced by issue #60714, Nested grease pencil , becomes uneditable after nested and deleted
Referenced by issue #60710,  subdivision modifier ,adjust edit cage to modifier result ,  vertex selection bug
Referenced by issue #60685, Blender crashes when I switch form object mode to particle edit
Referenced by issue #60546, keyframe hair particle timing
Referenced by issue #60529, laggy behaviour after subdiv. modifier
Referenced by issue #60521, Keyframe viewable objects not working correctly
2 changed files with 25 additions and 4 deletions

View File

@ -190,7 +190,24 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system,
0); // pointer to window-creation data
free(title_16);
}
m_user32 = ::LoadLibrary("user32.dll");
if (m_hWnd) {
if (m_user32) {
// Touch enabled screens with pen support by default have gestures
// enabled, which results in a delay between the pointer down event
// and the first move when using the stylus. RegisterTouchWindow
// disables the new gesture architecture enabling the events to be
// sent immediately to the application rather than being absorbed by
// the gesture API.
GHOST_WIN32_RegisterTouchWindow pRegisterTouchWindow =
(GHOST_WIN32_RegisterTouchWindow)GetProcAddress(m_user32, "RegisterTouchWindow");
if (pRegisterTouchWindow) {
pRegisterTouchWindow(m_hWnd, 0);
}
}
// Register this window as a droptarget. Requires m_hWnd to be valid.
// Note that OleInitialize(0) has to be called prior to this. Done in GHOST_SystemWin32.
m_dropTarget = new GHOST_DropTargetWin32(this, m_system);
@ -368,6 +385,11 @@ GHOST_WindowWin32::~GHOST_WindowWin32()
::DestroyWindow(m_hWnd);
m_hWnd = 0;
}
if (m_user32) {
FreeLibrary(m_user32);
m_user32 = NULL;
}
}
bool GHOST_WindowWin32::getValid() const
@ -976,10 +998,6 @@ void GHOST_WindowWin32::bringTabletContextToFront()
GHOST_TUns16 GHOST_WindowWin32::getDPIHint()
{
if (!m_user32) {
m_user32 = ::LoadLibrary("user32.dll");
}
if (m_user32) {
GHOST_WIN32_GetDpiForWindow fpGetDpiForWindow = (GHOST_WIN32_GetDpiForWindow) ::GetProcAddress(m_user32, "GetDpiForWindow");

View File

@ -59,6 +59,9 @@ typedef BOOL (API * GHOST_WIN32_WTPacket)(HCTX, UINT, LPVOID);
typedef BOOL (API * GHOST_WIN32_WTEnable)(HCTX, BOOL);
typedef BOOL (API * GHOST_WIN32_WTOverlap)(HCTX, BOOL);
// typedef to user32 functions to disable gestures on windows
typedef BOOL(API * GHOST_WIN32_RegisterTouchWindow)(HWND hwnd, ULONG ulFlags);
// typedefs for user32 functions to allow dynamic loading of Windows 10 DPI scaling functions
typedef UINT(API * GHOST_WIN32_GetDpiForWindow)(HWND);
#ifndef USER_DEFAULT_SCREEN_DPI