Blender Git Commit Log

Git Commits -> Revision 404f41d

Revision 404f41d by Ray molenkamp (master)
July 18, 2016, 13:48 (GMT)
[bf_intern_ghost/Windows] Cleanup

This patch addresses the following issues in bf_intern_ghost

```
Warning C4312 'type cast': conversion from 'GHOST_TEmbedderWindowID' to 'HWND' of greater size bf_intern_ghost K:BlenderGitblenderinternghostinternGHOST_WindowWin32.cpp 179
Warning C4312 'type cast': conversion from 'GHOST_TEmbedderWindowID' to 'HWND' of greater size bf_intern_ghost K:BlenderGitblenderinternghostinternGHOST_WindowWin32.cpp 198
```

GHOST_TEmbedderWindowID is defined as long, handles are however of pointer size,
so this should have been an issue when we moved to 64 bits, guess we got lucky.
fixed by turning GHOST_TEmbedderWindowID from long into void*

```
Warning C4302 'reinterpret_cast': truncation from 'HKL' to 'LANGID' bf_intern_ghost K:BlenderGitblenderinternghostinternGHOST_ImeWin32.cpp 67
```

reinterpret_cast emits warnings on truncation, LOWORD does the job just
as well with no warnings.

```
Warning C4838 conversion from 'int' to 'DWORD' requires a narrowing conversion bf_intern_ghost K:BlenderGitblenderinternghostinternGHOST_ContextWGL.cpp 734
Warning C4838 conversion from 'int' to 'BYTE' requires a narrowing conversion bf_intern_ghost K:BlenderGitblenderinternghostinternGHOST_ContextWGL.cpp 734
```

Weird warning, it does a really bad job at telling you what parameter is
causing the warning , tuns out there's a bunch of parameters that cause it
but it still only yields a single warning, the problem is that every
(somevar ? a : b) construct results in an integer type. which needs to be
properly cast to get rid of the warning.

```
Warning C4996 'GetVersionExA': was declared deprecated bf_intern_ghost K:BlenderGitblenderinternghostinternGHOST_WindowWin32.cpp 105
Warning C4996 'GetVersionExA': was declared deprecated bf_intern_ghost K:BlenderGitblenderinternghostinternGHOST_WindowWin32.cpp 107
```

The warning was clear, the code not as much. The version check in place
here is quite convoluted and could be replaced by including VersionHelpers.h
and calling IsWindows7OrGreater, However, CreateInstance will just return NULL
in m_Bar if the interface is not supported, so the whole check is useless.
This however did require that the CreateInstance call actually asked for
ITaskbarList3 and not ITaskBarlist . (You're not really allowed to assign
different interface types to each-other, a roundtrip through QueryInterface
is required there, we were violating spec here by asking for ITaskBarlist and
storing it in ITaskbarList3* )

Reviewers: sergey

Reviewed By: sergey

Subscribers: sergey

Differential Revision: https://developer.blender.org/D2094

Commit Details:

Full Hash: 404f41d22de46119ee8afb409011eb1ba1840092
Parent Commit: a76e69f
Committed By: Sergey Sharybin
Lines Changed: +8, -36

4 Modified Paths:

/intern/ghost/GHOST_Types.h (+1, -1) (Diff)
/intern/ghost/intern/GHOST_ContextWGL.cpp (+5, -4) (Diff)
/intern/ghost/intern/GHOST_ImeWin32.cpp (+1, -1) (Diff)
/intern/ghost/intern/GHOST_WindowWin32.cpp (+1, -30) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021