Cleanup: use nullptr in intern/ghost

This commit is contained in:
Campbell Barton
2023-08-01 21:20:44 +10:00
parent ebfa6b9f04
commit dec70e84b6
35 changed files with 300 additions and 294 deletions

View File

@@ -154,7 +154,7 @@ extern void GHOST_GetAllDisplayDimensions(GHOST_SystemHandle systemhandle,
* The new window is added to the list of windows managed.
* Never explicitly delete the window, use disposeWindow() instead.
* \param systemhandle: The handle to the system.
* \param parent_windowhandle: Handle of parent (or owner) window, or NULL
* \param parent_windowhandle: Handle of parent (or owner) window, or nullptr
* \param title: The name of the window.
* (displayed in the title bar of the window if the OS supports it).
* \param left: The coordinate of the left edge of the window.
@@ -164,7 +164,7 @@ extern void GHOST_GetAllDisplayDimensions(GHOST_SystemHandle systemhandle,
* \param state: The state of the window when opened.
* \param is_dialog: Stay on top of parent window, no icon in taskbar, can't be minimized.
* \param gpuSettings: Misc GPU options.
* \return A handle to the new window ( == NULL if creation failed).
* \return A handle to the new window ( == nullptr if creation failed).
*/
extern GHOST_WindowHandle GHOST_CreateWindow(GHOST_SystemHandle systemhandle,
GHOST_WindowHandle parent_windowhandle,
@@ -182,7 +182,7 @@ extern GHOST_WindowHandle GHOST_CreateWindow(GHOST_SystemHandle systemhandle,
* Never explicitly delete the context, use #disposeContext() instead.
* \param systemhandle: The handle to the system.
* \param gpuSettings: Misc GPU options.
* \return A handle to the new context ( == NULL if creation failed).
* \return A handle to the new context ( == nullptr if creation failed).
*/
extern GHOST_ContextHandle GHOST_CreateGPUContext(GHOST_SystemHandle systemhandle,
GHOST_GPUSettings gpuSettings);
@@ -495,7 +495,7 @@ extern uint64_t GHOST_GetEventTime(GHOST_EventHandle eventhandle);
/**
* Returns the window this event was generated on,
* or NULL if it is a 'system' event.
* or nullptr if it is a 'system' event.
* \param eventhandle: The handle to the event.
* \return The generating window.
*/
@@ -951,7 +951,7 @@ extern bool GHOST_UseNativePixels(void);
extern GHOST_TCapabilityFlag GHOST_GetCapabilities(void);
/**
* Assign the callback which generates a back-trace (may be NULL).
* Assign the callback which generates a back-trace (may be nullptr).
*/
extern void GHOST_SetBacktraceHandler(GHOST_TBacktraceFn backtrace_fn);
@@ -1081,7 +1081,7 @@ int GHOST_XrSessionNeedsUpsideDownDrawing(const GHOST_XrContextHandle xr_context
/* events */
/**
* Invoke handling of all OpenXR events for \a xr_context. Should be called on every main-loop
* iteration and will early-exit if \a xr_context is NULL (so caller doesn't have to check).
* iteration and will early-exit if \a xr_context is nullptr (so caller doesn't have to check).
*
* \returns GHOST_kSuccess if any event was handled, otherwise GHOST_kFailure.
*/
@@ -1139,7 +1139,7 @@ int GHOST_XrAttachActionSets(GHOST_XrContextHandle xr_context);
/**
* Update button/tracking states for OpenXR actions.
*
* \param action_set_name: The name of the action set to sync. If NULL, all action sets
* \param action_set_name: The name of the action set to sync. If nullptr, all action sets
* attached to the session will be synced.
*/
int GHOST_XrSyncActions(GHOST_XrContextHandle xr_context, const char *action_set_name);

View File

@@ -45,7 +45,7 @@ class GHOST_IEvent {
/**
* Returns the window this event was generated on,
* or NULL if it is a 'system' event.
* or nullptr if it is a 'system' event.
* \return The generating window.
*/
virtual GHOST_IWindow *getWindow() = 0;

View File

@@ -61,7 +61,7 @@ class GHOST_IEventConsumer;
* - Windows.
* - X11.
* - SDL2 (experimental).
* - NULL (headless mode).
* - null (headless mode).
*
* \section Building GHOST
*
@@ -189,7 +189,7 @@ class GHOST_ISystem {
virtual GHOST_ITimerTask *installTimer(uint64_t delay,
uint64_t interval,
GHOST_TimerProcPtr timerProc,
GHOST_TUserDataPtr userData = NULL) = 0;
GHOST_TUserDataPtr userData = nullptr) = 0;
/**
* Removes a timer.
@@ -246,7 +246,7 @@ class GHOST_ISystem {
GHOST_GPUSettings gpuSettings,
const bool exclusive = false,
const bool is_dialog = false,
const GHOST_IWindow *parentWindow = NULL) = 0;
const GHOST_IWindow *parentWindow = nullptr) = 0;
/**
* Dispose a window.

View File

@@ -647,7 +647,7 @@ typedef struct {
/** The key code. */
GHOST_TKey key;
/** The unicode character. if the length is 6, not NULL terminated if all 6 are set. */
/** The unicode character. if the length is 6, not nullptr terminated if all 6 are set. */
char utf8_buf[6];
/**

View File

@@ -12,7 +12,7 @@
#include "GHOST_IContext.hh"
#include "GHOST_Types.h"
#include <cstdlib> // for NULL
#include <cstdlib> // for nullptr
class GHOST_Context : public GHOST_IContext {
public:
@@ -232,7 +232,7 @@ class GHOST_Context : public GHOST_IContext {
};
#ifdef _WIN32
bool win32_chk(bool result, const char *file = NULL, int line = 0, const char *text = NULL);
bool win32_chk(bool result, const char *file = nullptr, int line = 0, const char *text = nullptr);
bool win32_silent_chk(bool result);
# ifndef NDEBUG

View File

@@ -17,8 +17,8 @@
#include "GHOST_ContextD3D.hh"
#include "GHOST_ContextWGL.hh" /* For shared drawing */
HMODULE GHOST_ContextD3D::s_d3d_lib = NULL;
PFN_D3D11_CREATE_DEVICE GHOST_ContextD3D::s_D3D11CreateDeviceFn = NULL;
HMODULE GHOST_ContextD3D::s_d3d_lib = nullptr;
PFN_D3D11_CREATE_DEVICE GHOST_ContextD3D::s_D3D11CreateDeviceFn = nullptr;
GHOST_ContextD3D::GHOST_ContextD3D(bool stereoVisual, HWND hWnd)
: GHOST_Context(stereoVisual), m_hWnd(hWnd)
@@ -49,24 +49,24 @@ GHOST_TSuccess GHOST_ContextD3D::releaseDrawingContext()
GHOST_TSuccess GHOST_ContextD3D::setupD3DLib()
{
if (s_d3d_lib == NULL) {
if (s_d3d_lib == nullptr) {
s_d3d_lib = LoadLibraryA("d3d11.dll");
WIN32_CHK(s_d3d_lib != NULL);
WIN32_CHK(s_d3d_lib != nullptr);
if (s_d3d_lib == NULL) {
if (s_d3d_lib == nullptr) {
fprintf(stderr, "LoadLibrary(\"d3d11.dll\") failed!\n");
return GHOST_kFailure;
}
}
if (s_D3D11CreateDeviceFn == NULL) {
if (s_D3D11CreateDeviceFn == nullptr) {
s_D3D11CreateDeviceFn = (PFN_D3D11_CREATE_DEVICE)GetProcAddress(s_d3d_lib,
"D3D11CreateDevice");
WIN32_CHK(s_D3D11CreateDeviceFn != NULL);
WIN32_CHK(s_D3D11CreateDeviceFn != nullptr);
if (s_D3D11CreateDeviceFn == NULL) {
if (s_D3D11CreateDeviceFn == nullptr) {
fprintf(stderr, "GetProcAddress(s_d3d_lib, \"D3D11CreateDevice\") failed!\n");
return GHOST_kFailure;
}
@@ -82,19 +82,19 @@ GHOST_TSuccess GHOST_ContextD3D::initializeDrawingContext()
}
HRESULT hres = s_D3D11CreateDeviceFn(
NULL,
nullptr,
D3D_DRIVER_TYPE_HARDWARE,
NULL,
nullptr,
/* For debugging you may want to pass D3D11_CREATE_DEVICE_DEBUG here, but that requires
* additional setup, see
* https://docs.microsoft.com/en-us/windows/win32/direct3d11/overviews-direct3d-11-devices-layers#debug-layer.
*/
0,
NULL,
nullptr,
0,
D3D11_SDK_VERSION,
&m_device,
NULL,
nullptr,
&m_device_ctx);
WIN32_CHK(hres == S_OK);
@@ -138,10 +138,10 @@ class GHOST_SharedOpenGLResource {
texDesc.MipLevels = 1;
texDesc.BindFlags = D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET;
device->CreateTexture2D(&texDesc, NULL, &tex);
device->CreateTexture2D(&texDesc, nullptr, &tex);
if (!tex) {
/* If texture creation fails, we just return and leave the render target unset. So it needs
* to be NULL-checked before use. */
* to be nullptr-checked before use. */
fprintf(stderr, "Error creating texture for shared DirectX-OpenGL resource\n");
return;
}
@@ -251,7 +251,7 @@ class GHOST_SharedOpenGLResource {
GHOST_TSuccess initialize()
{
m_shared.device = wglDXOpenDeviceNV(m_device);
if (m_shared.device == NULL) {
if (m_shared.device == nullptr) {
fprintf(stderr, "Error opening shared device using wglDXOpenDeviceNV()\n");
return GHOST_kFailure;
}

View File

@@ -161,7 +161,7 @@ class GHOST_DeviceVK {
~GHOST_DeviceVK()
{
if (device != VK_NULL_HANDLE) {
vkDestroyDevice(device, NULL);
vkDestroyDevice(device, nullptr);
}
}
@@ -175,10 +175,11 @@ class GHOST_DeviceVK {
bool extensions_support(const vector<const char *> &required_extensions)
{
uint32_t ext_count;
vkEnumerateDeviceExtensionProperties(physical_device, NULL, &ext_count, NULL);
vkEnumerateDeviceExtensionProperties(physical_device, nullptr, &ext_count, nullptr);
vector<VkExtensionProperties> available_exts(ext_count);
vkEnumerateDeviceExtensionProperties(physical_device, NULL, &ext_count, available_exts.data());
vkEnumerateDeviceExtensionProperties(
physical_device, nullptr, &ext_count, available_exts.data());
for (const auto &extension_needed : required_extensions) {
bool found = false;
@@ -232,13 +233,13 @@ class GHOST_DeviceVK {
device_create_info.ppEnabledExtensionNames = extensions_device.data();
device_create_info.pEnabledFeatures = &device_features;
vkCreateDevice(physical_device, &device_create_info, NULL, &device);
vkCreateDevice(physical_device, &device_create_info, nullptr, &device);
}
void init_generic_queue_family()
{
uint32_t queue_family_count = 0;
vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &queue_family_count, NULL);
vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &queue_family_count, nullptr);
vector<VkQueueFamilyProperties> queue_families(queue_family_count);
vkGetPhysicalDeviceQueueFamilyProperties(
@@ -282,7 +283,7 @@ static GHOST_TSuccess ensure_vulkan_device(VkInstance vk_instance,
VkPhysicalDevice best_physical_device = VK_NULL_HANDLE;
uint32_t device_count = 0;
vkEnumeratePhysicalDevices(vk_instance, &device_count, NULL);
vkEnumeratePhysicalDevices(vk_instance, &device_count, nullptr);
vector<VkPhysicalDevice> physical_devices(device_count);
vkEnumeratePhysicalDevices(vk_instance, &device_count, physical_devices.data());
@@ -298,11 +299,11 @@ static GHOST_TSuccess ensure_vulkan_device(VkInstance vk_instance,
if (vk_surface != VK_NULL_HANDLE) {
uint32_t format_count;
vkGetPhysicalDeviceSurfaceFormatsKHR(
device_vk.physical_device, vk_surface, &format_count, NULL);
device_vk.physical_device, vk_surface, &format_count, nullptr);
uint32_t present_count;
vkGetPhysicalDeviceSurfacePresentModesKHR(
device_vk.physical_device, vk_surface, &present_count, NULL);
device_vk.physical_device, vk_surface, &present_count, nullptr);
/* For now anything will do. */
if (format_count == 0 || present_count == 0) {
@@ -403,10 +404,10 @@ GHOST_ContextVK::~GHOST_ContextVK()
destroySwapchain();
if (m_command_pool != VK_NULL_HANDLE) {
vkDestroyCommandPool(device_vk.device, m_command_pool, NULL);
vkDestroyCommandPool(device_vk.device, m_command_pool, nullptr);
}
if (m_surface != VK_NULL_HANDLE) {
vkDestroySurfaceKHR(device_vk.instance, m_surface, NULL);
vkDestroySurfaceKHR(device_vk.instance, m_surface, nullptr);
}
device_vk.users--;
@@ -422,28 +423,28 @@ GHOST_TSuccess GHOST_ContextVK::destroySwapchain()
VkDevice device = vulkan_device->device;
for (auto semaphore : m_image_available_semaphores) {
vkDestroySemaphore(device, semaphore, NULL);
vkDestroySemaphore(device, semaphore, nullptr);
}
for (auto semaphore : m_render_finished_semaphores) {
vkDestroySemaphore(device, semaphore, NULL);
vkDestroySemaphore(device, semaphore, nullptr);
}
for (auto fence : m_in_flight_fences) {
vkDestroyFence(device, fence, NULL);
vkDestroyFence(device, fence, nullptr);
}
for (auto framebuffer : m_swapchain_framebuffers) {
vkDestroyFramebuffer(device, framebuffer, NULL);
vkDestroyFramebuffer(device, framebuffer, nullptr);
}
if (m_render_pass != VK_NULL_HANDLE) {
vkDestroyRenderPass(device, m_render_pass, NULL);
vkDestroyRenderPass(device, m_render_pass, nullptr);
}
for (auto command_buffer : m_command_buffers) {
vkFreeCommandBuffers(device, m_command_pool, 1, &command_buffer);
}
for (auto imageView : m_swapchain_image_views) {
vkDestroyImageView(device, imageView, NULL);
vkDestroyImageView(device, imageView, nullptr);
}
if (m_swapchain != VK_NULL_HANDLE) {
vkDestroySwapchainKHR(device, m_swapchain, NULL);
vkDestroySwapchainKHR(device, m_swapchain, nullptr);
}
return GHOST_kSuccess;
}
@@ -509,7 +510,7 @@ GHOST_TSuccess GHOST_ContextVK::swapBuffers()
present_info.swapchainCount = 1;
present_info.pSwapchains = &m_swapchain;
present_info.pImageIndices = &m_currentImage;
present_info.pResults = NULL;
present_info.pResults = nullptr;
result = vkQueuePresentKHR(m_present_queue, &present_info);
@@ -612,10 +613,10 @@ GHOST_TSuccess GHOST_ContextVK::releaseDrawingContext()
static vector<VkExtensionProperties> getExtensionsAvailable()
{
uint32_t extension_count = 0;
vkEnumerateInstanceExtensionProperties(NULL, &extension_count, NULL);
vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr);
vector<VkExtensionProperties> extensions(extension_count);
vkEnumerateInstanceExtensionProperties(NULL, &extension_count, extensions.data());
vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data());
return extensions;
}
@@ -646,7 +647,7 @@ static void requireExtension(vector<VkExtensionProperties> &extensions_available
static vector<VkLayerProperties> getLayersAvailable()
{
uint32_t layer_count = 0;
vkEnumerateInstanceLayerProperties(&layer_count, NULL);
vkEnumerateInstanceLayerProperties(&layer_count, nullptr);
vector<VkLayerProperties> layers(layer_count);
vkEnumerateInstanceLayerProperties(&layer_count, layers.data());
@@ -731,7 +732,7 @@ static GHOST_TSuccess create_render_pass(VkDevice device,
renderPassInfo.subpassCount = 1;
renderPassInfo.pSubpasses = &subpass;
VK_CHECK(vkCreateRenderPass(device, &renderPassInfo, NULL, r_renderPass));
VK_CHECK(vkCreateRenderPass(device, &renderPassInfo, nullptr, r_renderPass));
return GHOST_kSuccess;
}
@@ -742,7 +743,7 @@ static GHOST_TSuccess selectPresentMode(VkPhysicalDevice device,
{
// TODO cleanup: we are not going to use MAILBOX as it isn't supported by renderdoc.
uint32_t present_count;
vkGetPhysicalDeviceSurfacePresentModesKHR(device, surface, &present_count, NULL);
vkGetPhysicalDeviceSurfacePresentModesKHR(device, surface, &present_count, nullptr);
vector<VkPresentModeKHR> presents(present_count);
vkGetPhysicalDeviceSurfacePresentModesKHR(device, surface, &present_count, presents.data());
/* MAILBOX is the lowest latency V-Sync enabled mode so use it if available */
@@ -773,7 +774,7 @@ GHOST_TSuccess GHOST_ContextVK::createCommandPools()
poolInfo.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
poolInfo.queueFamilyIndex = vulkan_device->generic_queue_family;
VK_CHECK(vkCreateCommandPool(vulkan_device->device, &poolInfo, NULL, &m_command_pool));
VK_CHECK(vkCreateCommandPool(vulkan_device->device, &poolInfo, nullptr, &m_command_pool));
return GHOST_kSuccess;
}
@@ -834,7 +835,7 @@ static bool selectSurfaceFormat(const VkPhysicalDevice physical_device,
VkSurfaceFormatKHR &r_surfaceFormat)
{
uint32_t format_count;
vkGetPhysicalDeviceSurfaceFormatsKHR(physical_device, surface, &format_count, NULL);
vkGetPhysicalDeviceSurfaceFormatsKHR(physical_device, surface, &format_count, nullptr);
vector<VkSurfaceFormatKHR> formats(format_count);
vkGetPhysicalDeviceSurfaceFormatsKHR(physical_device, surface, &format_count, formats.data());
@@ -913,15 +914,15 @@ GHOST_TSuccess GHOST_ContextVK::createSwapchain()
create_info.oldSwapchain = VK_NULL_HANDLE; /* TODO Window resize */
create_info.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE;
create_info.queueFamilyIndexCount = 0;
create_info.pQueueFamilyIndices = NULL;
create_info.pQueueFamilyIndices = nullptr;
VkDevice device = vulkan_device->device;
VK_CHECK(vkCreateSwapchainKHR(device, &create_info, NULL, &m_swapchain));
VK_CHECK(vkCreateSwapchainKHR(device, &create_info, nullptr, &m_swapchain));
create_render_pass(device, format.format, &m_render_pass);
/* image_count may not be what we requested! Getter for final value. */
vkGetSwapchainImagesKHR(device, m_swapchain, &image_count, NULL);
vkGetSwapchainImagesKHR(device, m_swapchain, &image_count, nullptr);
m_swapchain_images.resize(image_count);
vkGetSwapchainImagesKHR(device, m_swapchain, &image_count, m_swapchain_images.data());
@@ -945,7 +946,7 @@ GHOST_TSuccess GHOST_ContextVK::createSwapchain()
view_create_info.subresourceRange.baseArrayLayer = 0;
view_create_info.subresourceRange.layerCount = 1;
VK_CHECK(vkCreateImageView(device, &view_create_info, NULL, &m_swapchain_image_views[i]));
VK_CHECK(vkCreateImageView(device, &view_create_info, nullptr, &m_swapchain_image_views[i]));
VkImageView attachments[] = {m_swapchain_image_views[i]};
@@ -958,7 +959,7 @@ GHOST_TSuccess GHOST_ContextVK::createSwapchain()
fb_create_info.height = m_render_extent.height;
fb_create_info.layers = 1;
VK_CHECK(vkCreateFramebuffer(device, &fb_create_info, NULL, &m_swapchain_framebuffers[i]));
VK_CHECK(vkCreateFramebuffer(device, &fb_create_info, nullptr, &m_swapchain_framebuffers[i]));
}
m_image_available_semaphores.resize(MAX_FRAMES_IN_FLIGHT);
@@ -973,10 +974,12 @@ GHOST_TSuccess GHOST_ContextVK::createSwapchain()
for (int i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) {
VK_CHECK(vkCreateSemaphore(device, &semaphore_info, NULL, &m_image_available_semaphores[i]));
VK_CHECK(vkCreateSemaphore(device, &semaphore_info, NULL, &m_render_finished_semaphores[i]));
VK_CHECK(
vkCreateSemaphore(device, &semaphore_info, nullptr, &m_image_available_semaphores[i]));
VK_CHECK(
vkCreateSemaphore(device, &semaphore_info, nullptr, &m_render_finished_semaphores[i]));
VK_CHECK(vkCreateFence(device, &fence_info, NULL, &m_in_flight_fences[i]));
VK_CHECK(vkCreateFence(device, &fence_info, nullptr, &m_in_flight_fences[i]));
}
createGraphicsCommandBuffers();
@@ -1002,24 +1005,24 @@ const char *GHOST_ContextVK::getPlatformSpecificSurfaceExtension() const
# endif
}
#endif
return NULL;
return nullptr;
}
GHOST_TSuccess GHOST_ContextVK::initializeDrawingContext()
{
#ifdef _WIN32
const bool use_window_surface = (m_hwnd != NULL);
const bool use_window_surface = (m_hwnd != nullptr);
#elif defined(__APPLE__)
const bool use_window_surface = (m_metal_layer != NULL);
const bool use_window_surface = (m_metal_layer != nullptr);
#else /* UNIX/Linux */
bool use_window_surface = false;
switch (m_platform) {
case GHOST_kVulkanPlatformX11:
use_window_surface = (m_display != NULL) && (m_window != (Window)NULL);
use_window_surface = (m_display != nullptr) && (m_window != (Window) nullptr);
break;
# ifdef WITH_GHOST_WAYLAND
case GHOST_kVulkanPlatformWayland:
use_window_surface = (m_wayland_display != NULL) && (m_wayland_surface != NULL);
use_window_surface = (m_wayland_display != nullptr) && (m_wayland_surface != nullptr);
break;
# endif
}
@@ -1070,7 +1073,7 @@ GHOST_TSuccess GHOST_ContextVK::initializeDrawingContext()
create_info.ppEnabledLayerNames = layers_enabled.data();
create_info.enabledExtensionCount = static_cast<uint32_t>(extensions_enabled.size());
create_info.ppEnabledExtensionNames = extensions_enabled.data();
VK_CHECK(vkCreateInstance(&create_info, NULL, &instance));
VK_CHECK(vkCreateInstance(&create_info, nullptr, &instance));
}
else {
instance = vulkan_device->instance;
@@ -1080,13 +1083,13 @@ GHOST_TSuccess GHOST_ContextVK::initializeDrawingContext()
#ifdef _WIN32
VkWin32SurfaceCreateInfoKHR surface_create_info = {};
surface_create_info.sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
surface_create_info.hinstance = GetModuleHandle(NULL);
surface_create_info.hinstance = GetModuleHandle(nullptr);
surface_create_info.hwnd = m_hwnd;
VK_CHECK(vkCreateWin32SurfaceKHR(instance, &surface_create_info, NULL, &m_surface));
VK_CHECK(vkCreateWin32SurfaceKHR(instance, &surface_create_info, nullptr, &m_surface));
#elif defined(__APPLE__)
VkMetalSurfaceCreateInfoEXT info = {};
info.sType = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT;
info.pNext = NULL;
info.pNext = nullptr;
info.flags = 0;
info.pLayer = m_metal_layer;
VK_CHECK(vkCreateMetalSurfaceEXT(instance, &info, nullptr, &m_surface));
@@ -1097,7 +1100,7 @@ GHOST_TSuccess GHOST_ContextVK::initializeDrawingContext()
surface_create_info.sType = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
surface_create_info.dpy = m_display;
surface_create_info.window = m_window;
VK_CHECK(vkCreateXlibSurfaceKHR(instance, &surface_create_info, NULL, &m_surface));
VK_CHECK(vkCreateXlibSurfaceKHR(instance, &surface_create_info, nullptr, &m_surface));
break;
}
# ifdef WITH_GHOST_WAYLAND
@@ -1106,7 +1109,7 @@ GHOST_TSuccess GHOST_ContextVK::initializeDrawingContext()
surface_create_info.sType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
surface_create_info.display = m_wayland_display;
surface_create_info.surface = m_wayland_surface;
VK_CHECK(vkCreateWaylandSurfaceKHR(instance, &surface_create_info, NULL, &m_surface));
VK_CHECK(vkCreateWaylandSurfaceKHR(instance, &surface_create_info, nullptr, &m_surface));
break;
}
# endif

View File

@@ -16,13 +16,13 @@
#include <cstdio>
#include <vector>
HGLRC GHOST_ContextWGL::s_sharedHGLRC = NULL;
HGLRC GHOST_ContextWGL::s_sharedHGLRC = nullptr;
int GHOST_ContextWGL::s_sharedCount = 0;
/* Some third-generation Intel video-cards are constantly bring problems */
static bool is_crappy_intel_card()
{
return strstr((const char *)glGetString(GL_VENDOR), "Intel") != NULL;
return strstr((const char *)glGetString(GL_VENDOR), "Intel") != nullptr;
}
GHOST_ContextWGL::GHOST_ContextWGL(bool stereoVisual,
@@ -43,22 +43,22 @@ GHOST_ContextWGL::GHOST_ContextWGL(bool stereoVisual,
m_contextFlags(contextFlags),
m_alphaBackground(alphaBackground),
m_contextResetNotificationStrategy(contextResetNotificationStrategy),
m_hGLRC(NULL)
m_hGLRC(nullptr)
#ifndef NDEBUG
,
m_dummyVendor(NULL),
m_dummyRenderer(NULL),
m_dummyVersion(NULL)
m_dummyVendor(nullptr),
m_dummyRenderer(nullptr),
m_dummyVersion(nullptr)
#endif
{
assert(m_hDC != NULL);
assert(m_hDC != nullptr);
}
GHOST_ContextWGL::~GHOST_ContextWGL()
{
if (m_hGLRC != NULL) {
if (m_hGLRC != nullptr) {
if (m_hGLRC == ::wglGetCurrentContext())
WIN32_CHK(::wglMakeCurrent(NULL, NULL));
WIN32_CHK(::wglMakeCurrent(nullptr, nullptr));
if (m_hGLRC != s_sharedHGLRC || s_sharedCount == 1) {
assert(s_sharedCount > 0);
@@ -66,7 +66,7 @@ GHOST_ContextWGL::~GHOST_ContextWGL()
s_sharedCount--;
if (s_sharedCount == 0)
s_sharedHGLRC = NULL;
s_sharedHGLRC = nullptr;
WIN32_CHK(::wglDeleteContext(m_hGLRC));
}
@@ -117,7 +117,7 @@ GHOST_TSuccess GHOST_ContextWGL::activateDrawingContext()
GHOST_TSuccess GHOST_ContextWGL::releaseDrawingContext()
{
if (WIN32_CHK(::wglMakeCurrent(NULL, NULL))) {
if (WIN32_CHK(::wglMakeCurrent(nullptr, nullptr))) {
return GHOST_kSuccess;
}
else {
@@ -176,7 +176,7 @@ static int choose_pixel_format_legacy(HDC hDC, PIXELFORMATDESCRIPTOR &preferredP
WIN32_CHK(iLastResortPixelFormat != 0);
int lastPFD = ::DescribePixelFormat(hDC, 1, sizeof(PIXELFORMATDESCRIPTOR), NULL);
int lastPFD = ::DescribePixelFormat(hDC, 1, sizeof(PIXELFORMATDESCRIPTOR), nullptr);
WIN32_CHK(lastPFD != 0);
@@ -262,7 +262,7 @@ static HWND clone_window(HWND hWnd, LPVOID lpParam)
hInstance,
lpParam);
WIN32_CHK(hwndCloned != NULL);
WIN32_CHK(hwndCloned != nullptr);
return hwndCloned;
}
@@ -306,13 +306,13 @@ static void makeAttribList(std::vector<int> &out, bool stereoVisual, bool needAl
/* Temporary context used to create the actual context. We need ARB pixel format
* and context extensions, which are only available within a context. */
struct DummyContextWGL {
HWND dummyHWND = NULL;
HWND dummyHWND = nullptr;
HDC dummyHDC = NULL;
HGLRC dummyHGLRC = NULL;
HDC dummyHDC = nullptr;
HGLRC dummyHGLRC = nullptr;
HDC prevHDC = NULL;
HGLRC prevHGLRC = NULL;
HDC prevHDC = nullptr;
HGLRC prevHGLRC = nullptr;
int dummyPixelFormat = 0;
@@ -381,15 +381,15 @@ struct DummyContextWGL {
return;
if (hWnd) {
dummyHWND = clone_window(hWnd, NULL);
dummyHWND = clone_window(hWnd, nullptr);
if (dummyHWND == NULL)
if (dummyHWND == nullptr)
return;
dummyHDC = GetDC(dummyHWND);
}
if (!WIN32_CHK(dummyHDC != NULL))
if (!WIN32_CHK(dummyHDC != nullptr))
return;
if (!WIN32_CHK(::SetPixelFormat(dummyHDC, dummyPixelFormat, &chosenPFD)))
@@ -397,7 +397,7 @@ struct DummyContextWGL {
dummyHGLRC = ::wglCreateContext(dummyHDC);
if (!WIN32_CHK(dummyHGLRC != NULL))
if (!WIN32_CHK(dummyHGLRC != nullptr))
return;
if (!WIN32_CHK(::wglMakeCurrent(dummyHDC, dummyHGLRC)))
@@ -415,11 +415,11 @@ struct DummyContextWGL {
{
WIN32_CHK(::wglMakeCurrent(prevHDC, prevHGLRC));
if (dummyHGLRC != NULL)
if (dummyHGLRC != nullptr)
WIN32_CHK(::wglDeleteContext(dummyHGLRC));
if (dummyHWND != NULL) {
if (dummyHDC != NULL)
if (dummyHWND != nullptr) {
if (dummyHDC != nullptr)
WIN32_CHK(::ReleaseDC(dummyHWND, dummyHDC));
WIN32_CHK(::DestroyWindow(dummyHWND));
@@ -440,7 +440,7 @@ int GHOST_ContextWGL::_choose_pixel_format_arb_1(bool stereoVisual, bool needAlp
uint nNumFormats;
WIN32_CHK(wglChoosePixelFormatARB(
m_hDC, &(iAttributes[0]), NULL, _MAX_PIXEL_FORMATS, iPixelFormats, &nNumFormats));
m_hDC, &(iAttributes[0]), nullptr, _MAX_PIXEL_FORMATS, iPixelFormats, &nNumFormats));
if (nNumFormats > 0) {
iPixelFormat = iPixelFormats[0];
@@ -604,7 +604,7 @@ GHOST_TSuccess GHOST_ContextWGL::initializeDrawingContext()
iAttributes.push_back(0);
m_hGLRC = ::wglCreateContextAttribsARB(m_hDC, NULL, &(iAttributes[0]));
m_hGLRC = ::wglCreateContextAttribsARB(m_hDC, nullptr, &(iAttributes[0]));
}
}
@@ -612,14 +612,14 @@ GHOST_TSuccess GHOST_ContextWGL::initializeDrawingContext()
* a context with version higher than 3.3 Core. */
{
const bool silent = m_contextMajorVersion > 3;
if (!WIN32_CHK_SILENT(m_hGLRC != NULL, silent)) {
if (!WIN32_CHK_SILENT(m_hGLRC != nullptr, silent)) {
goto error;
}
}
s_sharedCount++;
if (s_sharedHGLRC == NULL) {
if (s_sharedHGLRC == nullptr) {
s_sharedHGLRC = m_hGLRC;
}
else if (!WIN32_CHK(::wglShareLists(s_sharedHGLRC, m_hGLRC))) {
@@ -667,8 +667,8 @@ GHOST_TSuccess GHOST_ContextWGL::releaseNativeHandles()
GHOST_TSuccess success = m_hGLRC != s_sharedHGLRC || s_sharedCount == 1 ? GHOST_kSuccess :
GHOST_kFailure;
m_hWnd = NULL;
m_hDC = NULL;
m_hWnd = nullptr;
m_hDC = nullptr;
return success;
}

View File

@@ -133,7 +133,7 @@ GHOST_TSuccess GHOST_DisplayManagerCocoa::setCurrentDisplaySetting(
(size_t)setting.xPixels,
(size_t)setting.yPixels,
(CGRefreshRate)setting.frequency,
NULL);
nullptr);
#endif
#ifdef GHOST_DEBUG

View File

@@ -28,7 +28,7 @@ GHOST_TSuccess GHOST_DisplayManagerWin32::getNumDisplays(uint8_t &numDisplays) c
static BOOL get_dd(DWORD d, DISPLAY_DEVICE *dd)
{
dd->cb = sizeof(DISPLAY_DEVICE);
return ::EnumDisplayDevices(NULL, d, dd, 0);
return ::EnumDisplayDevices(nullptr, d, dd, 0);
}
GHOST_TSuccess GHOST_DisplayManagerWin32::getNumDisplaySettings(uint8_t display,

View File

@@ -37,14 +37,14 @@ HRESULT __stdcall GHOST_DropTargetWin32::QueryInterface(REFIID riid, void **ppv_
if (!ppv_obj) {
return E_INVALIDARG;
}
*ppv_obj = NULL;
*ppv_obj = nullptr;
if (riid == IID_IUnknown || riid == IID_IDropTarget) {
AddRef();
*ppv_obj = (void *)this;
return S_OK;
}
*ppv_obj = NULL;
*ppv_obj = nullptr;
return E_NOINTERFACE;
}
@@ -87,7 +87,7 @@ HRESULT __stdcall GHOST_DropTargetWin32::DragEnter(IDataObject *p_data_object,
m_draggedObjectType = getGhostType(p_data_object);
m_system->pushDragDropEvent(
GHOST_kEventDraggingEntered, m_draggedObjectType, m_window, pt.x, pt.y, NULL);
GHOST_kEventDraggingEntered, m_draggedObjectType, m_window, pt.x, pt.y, nullptr);
return S_OK;
}
@@ -107,7 +107,7 @@ HRESULT __stdcall GHOST_DropTargetWin32::DragOver(DWORD /*grf_key_state*/,
// *pdw_effect = DROPEFFECT_COPY;
}
m_system->pushDragDropEvent(
GHOST_kEventDraggingUpdated, m_draggedObjectType, m_window, pt.x, pt.y, NULL);
GHOST_kEventDraggingUpdated, m_draggedObjectType, m_window, pt.x, pt.y, nullptr);
return S_OK;
}
@@ -117,7 +117,7 @@ HRESULT __stdcall GHOST_DropTargetWin32::DragOver(DWORD /*grf_key_state*/,
HRESULT __stdcall GHOST_DropTargetWin32::DragLeave(void)
{
m_system->pushDragDropEvent(
GHOST_kEventDraggingExited, m_draggedObjectType, m_window, 0, 0, NULL);
GHOST_kEventDraggingExited, m_draggedObjectType, m_window, 0, 0, nullptr);
m_draggedObjectType = GHOST_kDragnDropTypeUnknown;
return S_OK;
}
@@ -194,14 +194,14 @@ void *GHOST_DropTargetWin32::getGhostData(IDataObject *p_data_object)
#ifdef WITH_GHOST_DEBUG
::printf("\nGHOST_kDragnDropTypeUnknown");
#endif /* WITH_GHOST_DEBUG */
return NULL;
return nullptr;
}
return NULL;
return nullptr;
}
void *GHOST_DropTargetWin32::getDropDataAsFilenames(IDataObject *p_data_object)
{
GHOST_TStringArray *str_array = NULL;
GHOST_TStringArray *str_array = nullptr;
FORMATETC fmtetc = {CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL};
/* Check if data-object supplies the format we want.
@@ -211,7 +211,7 @@ void *GHOST_DropTargetWin32::getDropDataAsFilenames(IDataObject *p_data_object)
if (p_data_object->GetData(&fmtetc, &stgmed) == S_OK) {
const HDROP hdrop = (HDROP)::GlobalLock(stgmed.hGlobal);
const uint totfiles = ::DragQueryFileW(hdrop, -1, NULL, 0);
const uint totfiles = ::DragQueryFileW(hdrop, -1, nullptr, 0);
if (totfiles) {
str_array = (GHOST_TStringArray *)::malloc(sizeof(GHOST_TStringArray));
str_array->count = 0;
@@ -284,23 +284,23 @@ void *GHOST_DropTargetWin32::getDropDataAsString(IDataObject *p_data_object)
}
}
return NULL;
return nullptr;
}
int GHOST_DropTargetWin32::WideCharToANSI(LPCWSTR in, char *&out)
{
int size;
out = NULL; /* caller should free if != NULL */
out = nullptr; /* caller should free if != nullptr */
/* Get the required size. */
size = ::WideCharToMultiByte(CP_ACP, /* System Default Codepage */
0x00000400, /* WC_NO_BEST_FIT_CHARS */
in,
-1, /* -1 null terminated, makes output null terminated too. */
NULL,
nullptr,
0,
NULL,
NULL);
nullptr,
nullptr);
if (!size) {
#ifdef WITH_GHOST_DEBUG
@@ -315,14 +315,14 @@ int GHOST_DropTargetWin32::WideCharToANSI(LPCWSTR in, char *&out)
return 0;
}
size = ::WideCharToMultiByte(CP_ACP, 0x00000400, in, -1, (LPSTR)out, size, NULL, NULL);
size = ::WideCharToMultiByte(CP_ACP, 0x00000400, in, -1, (LPSTR)out, size, nullptr, nullptr);
if (!size) {
#ifdef WITH_GHOST_DEBUG
::printLastError();
#endif /* WITH_GHOST_DEBUG */
::free(out);
out = NULL;
out = nullptr;
}
return size;
}
@@ -335,12 +335,12 @@ void printLastError(void)
err = GetLastError();
if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
nullptr,
err,
0,
(LPTSTR)&s,
0,
NULL))
nullptr))
{
printf("\nLastError: (%d) %s\n", int(err), s);
LocalFree(s);

View File

@@ -116,7 +116,7 @@ class GHOST_DropTargetWin32 : public IDropTarget {
* The ANSI codepage is the system default codepage,
* and can change from system to system.
* \param in: LPCWSTR.
* \param out: char *. Is set to NULL on failure.
* \param out: char *. Is set to nullptr on failure.
* \return 0 on failure. Else the size of the string including '\0'.
*/
int WideCharToANSI(LPCWSTR in, char *&out);

View File

@@ -20,7 +20,7 @@ class GHOST_Event : public GHOST_IEvent {
* Constructor.
* \param msec: The time this event was generated.
* \param type: The type of this event.
* \param window: The generating window (or NULL if system event).
* \param window: The generating window (or nullptr if system event).
*/
GHOST_Event(uint64_t msec, GHOST_TEventType type, GHOST_IWindow *window)
: m_type(type), m_time(msec), m_window(window), m_data(nullptr)
@@ -47,7 +47,7 @@ class GHOST_Event : public GHOST_IEvent {
/**
* Returns the window this event was generated on,
* or NULL if it is a 'system' event.
* or nullptr if it is a 'system' event.
* \return The generating window.
*/
GHOST_IWindow *getWindow()

View File

@@ -74,7 +74,7 @@ class GHOST_EventDragnDrop : public GHOST_Event {
~GHOST_EventDragnDrop()
{
/* Free the dropped object data. */
if (m_dragnDropEventData.data == NULL)
if (m_dragnDropEventData.data == nullptr)
return;
switch (m_dragnDropEventData.dataType) {

View File

@@ -99,7 +99,7 @@ class GHOST_EventManager {
* \param type: The type of events to be removed.
* \param window: The window to remove the events for.
*/
void removeTypeEvents(GHOST_TEventType type, GHOST_IWindow *window = NULL);
void removeTypeEvents(GHOST_TEventType type, GHOST_IWindow *window = nullptr);
protected:
/**

View File

@@ -20,7 +20,7 @@ class GHOST_EventString : public GHOST_Event {
* Constructor.
* \param msec: The time this event was generated.
* \param type: The type of this event.
* \param window: The generating window (or NULL if system event).
* \param window: The generating window (or nullptr if system event).
* \param data_ptr: Pointer to the (un-formatted) data associated with the event.
*/
GHOST_EventString(uint64_t msec,

View File

@@ -44,7 +44,7 @@ void GHOST_ImeWin32::UpdateInputLanguage()
GetLocaleInfoEx(locale, LOCALE_SISO639LANGNAME, language_u16, W32_ISO639_LEN);
/* Store this as a UTF-8 string. */
WideCharToMultiByte(
CP_UTF8, 0, language_u16, W32_ISO639_LEN, language_, W32_ISO639_LEN, NULL, NULL);
CP_UTF8, 0, language_u16, W32_ISO639_LEN, language_, W32_ISO639_LEN, nullptr, nullptr);
}
BOOL GHOST_ImeWin32::IsLanguage(const char name[W32_ISO639_LEN])
@@ -115,7 +115,7 @@ void GHOST_ImeWin32::CreateImeWindow(HWND window_handle)
* their window position, we also create a caret for Japanese IMEs.
*/
if (!system_caret_ && (IsLanguage(IMELANG_CHINESE) || IsLanguage(IMELANG_JAPANESE))) {
system_caret_ = ::CreateCaret(window_handle, NULL, 1, 1);
system_caret_ = ::CreateCaret(window_handle, nullptr, 1, 1);
}
/* Restore the positions of the IME windows. */
UpdateImeWindow(window_handle);
@@ -267,7 +267,7 @@ void GHOST_ImeWin32::GetCaret(HIMC imm_context, LPARAM lparam, ImeComposition *c
}
}
else if (IsLanguage(IMELANG_CHINESE)) {
int clause_size = ImmGetCompositionStringW(imm_context, GCS_COMPCLAUSE, NULL, 0);
int clause_size = ImmGetCompositionStringW(imm_context, GCS_COMPCLAUSE, nullptr, 0);
if (clause_size) {
static std::vector<ulong> clauses;
clause_size = clause_size / sizeof(clauses[0]);
@@ -303,7 +303,7 @@ void GHOST_ImeWin32::GetCaret(HIMC imm_context, LPARAM lparam, ImeComposition *c
* a clause being converted.
*/
if (lparam & GCS_COMPATTR) {
int attribute_size = ::ImmGetCompositionStringW(imm_context, GCS_COMPATTR, NULL, 0);
int attribute_size = ::ImmGetCompositionStringW(imm_context, GCS_COMPATTR, nullptr, 0);
if (attribute_size > 0) {
char *attribute_data = new char[attribute_size];
if (attribute_data) {
@@ -346,7 +346,7 @@ bool GHOST_ImeWin32::GetString(HIMC imm_context,
{
bool result = false;
if (lparam & type) {
int string_size = ::ImmGetCompositionStringW(imm_context, type, NULL, 0);
int string_size = ::ImmGetCompositionStringW(imm_context, type, nullptr, 0);
if (string_size > 0) {
int string_length = string_size / sizeof(wchar_t);
wchar_t *string_data = new wchar_t[string_length + 1];
@@ -392,7 +392,7 @@ bool GHOST_ImeWin32::GetComposition(HWND window_handle, LPARAM lparam, ImeCompos
result = GetString(imm_context, lparam, GCS_COMPSTR, composition);
/* Retrieve the cursor position in the IME composition. */
int cursor_position = ::ImmGetCompositionStringW(imm_context, GCS_CURSORPOS, NULL, 0);
int cursor_position = ::ImmGetCompositionStringW(imm_context, GCS_CURSORPOS, nullptr, 0);
composition->cursor_position = cursor_position;
composition->target_start = -1;
composition->target_end = -1;
@@ -421,7 +421,7 @@ void GHOST_ImeWin32::EndIME(HWND window_handle)
return;
is_enable = false;
CleanupComposition(window_handle);
::ImmAssociateContextEx(window_handle, NULL, 0);
::ImmAssociateContextEx(window_handle, nullptr, 0);
eventImeData.composite_len = 0;
}
@@ -436,7 +436,7 @@ void GHOST_ImeWin32::BeginIME(HWND window_handle, const GHOST_Rect &caret_rect,
* IMM ignores this call if the IME context is loaded. Therefore, we do
* not have to check whether or not the IME context is loaded.
*/
::ImmAssociateContextEx(window_handle, NULL, IACE_DEFAULT);
::ImmAssociateContextEx(window_handle, nullptr, IACE_DEFAULT);
/* Complete the ongoing composition and move the IME windows. */
HIMC imm_context = ::ImmGetContext(window_handle);
if (imm_context) {

View File

@@ -15,8 +15,8 @@
#endif
// static callback functions need to talk to these objects:
static GHOST_SystemCocoa *ghost_system = NULL;
static GHOST_NDOFManager *ndof_manager = NULL;
static GHOST_SystemCocoa *ghost_system = nullptr;
static GHOST_NDOFManager *ndof_manager = nullptr;
static uint16_t clientID = 0;
@@ -73,7 +73,7 @@ typedef int16_t (*ConnexionClientControl_ptr)(uint16_t clientID,
int32_t param,
int32_t *result);
#define DECLARE_FUNC(name) name##_ptr name = NULL
#define DECLARE_FUNC(name) name##_ptr name = nullptr
DECLARE_FUNC(SetConnexionHandlers);
DECLARE_FUNC(InstallConnexionHandlers);
@@ -115,14 +115,14 @@ static bool load_driver_functions()
if (module) {
LOAD_FUNC(SetConnexionHandlers);
if (SetConnexionHandlers != NULL) {
if (SetConnexionHandlers != nullptr) {
driver_loaded = true;
has_new_driver = true;
}
else {
LOAD_FUNC(InstallConnexionHandlers);
driver_loaded = (InstallConnexionHandlers != NULL);
driver_loaded = (InstallConnexionHandlers != nullptr);
}
if (driver_loaded) {
@@ -132,7 +132,7 @@ static bool load_driver_functions()
LOAD_FUNC(UnregisterConnexionClient);
LOAD_FUNC(ConnexionClientControl);
has_old_driver = (SetConnexionClientButtonMask == NULL);
has_old_driver = (SetConnexionClientButtonMask == nullptr);
}
}
#if DEBUG_NDOF_DRIVER
@@ -259,8 +259,8 @@ GHOST_NDOFManagerCocoa::~GHOST_NDOFManagerCocoa()
CleanupConnexionHandlers();
unload_driver();
ghost_system = NULL;
ndof_manager = NULL;
ghost_system = nullptr;
ndof_manager = nullptr;
}
}

View File

@@ -92,7 +92,7 @@ class GHOST_SystemCocoa : public GHOST_System {
GHOST_GPUSettings gpuSettings,
const bool exclusive = false,
const bool is_dialog = false,
const GHOST_IWindow *parentWindow = NULL);
const GHOST_IWindow *parentWindow = nullptr);
/**
* Create a new off-screen context.

View File

@@ -502,7 +502,7 @@ GHOST_SystemCocoa::GHOST_SystemCocoa()
int mib[2];
struct timeval boottime;
size_t len;
char *rstring = NULL;
char *rstring = nullptr;
m_modifierMask = 0;
m_outsideLoopEventProcessed = false;
@@ -516,18 +516,18 @@ GHOST_SystemCocoa::GHOST_SystemCocoa()
mib[1] = KERN_BOOTTIME;
len = sizeof(struct timeval);
sysctl(mib, 2, &boottime, &len, NULL, 0);
sysctl(mib, 2, &boottime, &len, nullptr, 0);
m_start_time = ((boottime.tv_sec * 1000) + (boottime.tv_usec / 1000));
/* Detect multi-touch track-pad. */
mib[0] = CTL_HW;
mib[1] = HW_MODEL;
sysctl(mib, 2, NULL, &len, NULL, 0);
sysctl(mib, 2, nullptr, &len, nullptr, 0);
rstring = (char *)malloc(len);
sysctl(mib, 2, rstring, &len, NULL, 0);
sysctl(mib, 2, rstring, &len, nullptr, 0);
free(rstring);
rstring = NULL;
rstring = nullptr;
m_ignoreWindowSizedMessages = false;
m_ignoreMomentumScroll = false;
@@ -657,7 +657,7 @@ uint64_t GHOST_SystemCocoa::getMilliSeconds() const
// Cocoa equivalent exists in 10.6 ([[NSProcessInfo processInfo] systemUptime])
struct timeval currentTime;
gettimeofday(&currentTime, NULL);
gettimeofday(&currentTime, nullptr);
// Return timestamp of system uptime
@@ -707,7 +707,7 @@ GHOST_IWindow *GHOST_SystemCocoa::createWindow(const char *title,
const bool is_dialog,
const GHOST_IWindow *parentWindow)
{
GHOST_IWindow *window = NULL;
GHOST_IWindow *window = nullptr;
@autoreleasepool {
// Get the available rect for including window contents
@@ -750,7 +750,7 @@ GHOST_IWindow *GHOST_SystemCocoa::createWindow(const char *title,
else {
GHOST_PRINT("GHOST_SystemCocoa::createWindow(): window invalid\n");
delete window;
window = NULL;
window = nullptr;
}
}
return window;
@@ -768,7 +768,7 @@ GHOST_IContext *GHOST_SystemCocoa::createOffscreenContext(GHOST_GPUSettings gpuS
switch (gpuSettings.context_type) {
#ifdef WITH_VULKAN_BACKEND
case GHOST_kDrawingContextTypeVulkan: {
GHOST_Context *context = new GHOST_ContextVK(false, NULL, 1, 2, debug_context);
GHOST_Context *context = new GHOST_ContextVK(false, nullptr, 1, 2, debug_context);
if (context->initializeDrawingContext()) {
return context;
}
@@ -780,7 +780,7 @@ GHOST_IContext *GHOST_SystemCocoa::createOffscreenContext(GHOST_GPUSettings gpuS
#ifdef WITH_METAL_BACKEND
case GHOST_kDrawingContextTypeMetal: {
/* TODO(fclem): Remove OpenGL support and rename context to ContextMTL */
GHOST_Context *context = new GHOST_ContextCGL(false, NULL, NULL, debug_context);
GHOST_Context *context = new GHOST_ContextCGL(false, nullptr, nullptr, debug_context);
if (context->initializeDrawingContext()) {
return context;
}
@@ -953,7 +953,7 @@ bool GHOST_SystemCocoa::processEvents(bool /*waitForEvent*/)
timeOut = 0.0;
}
::ReceiveNextEvent(0, NULL, timeOut, false, &event);
::ReceiveNextEvent(0, nullptr, timeOut, false, &event);
}
if (timerMgr->fireTimers(getMilliSeconds())) {
@@ -1172,7 +1172,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleDraggingEvent(GHOST_TEventType eventType
case GHOST_kEventDraggingExited:
window->clientToScreenIntern(mouseX, mouseY, mouseX, mouseY);
pushEvent(new GHOST_EventDragnDrop(
getMilliSeconds(), eventType, draggedObjectType, window, mouseX, mouseY, NULL));
getMilliSeconds(), eventType, draggedObjectType, window, mouseX, mouseY, nullptr));
break;
case GHOST_kEventDraggingDropDone: {
@@ -1231,7 +1231,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleDraggingEvent(GHOST_TEventType eventType
temp_buff = (uint8_t *)malloc(pastedTextSize + 1);
if (temp_buff == NULL) {
if (temp_buff == nullptr) {
return GHOST_kFailure;
}
@@ -1247,10 +1247,10 @@ GHOST_TSuccess GHOST_SystemCocoa::handleDraggingEvent(GHOST_TEventType eventType
case GHOST_kDragnDropTypeBitmap: {
NSImage *droppedImg = (NSImage *)data;
NSSize imgSize = [droppedImg size];
ImBuf *ibuf = NULL;
uint8_t *rasterRGB = NULL;
uint8_t *rasterRGBA = NULL;
uint8_t *toIBuf = NULL;
ImBuf *ibuf = nullptr;
uint8_t *rasterRGB = nullptr;
uint8_t *rasterRGBA = nullptr;
uint8_t *toIBuf = nullptr;
int x, y, to_i, from_i;
NSBitmapImageRep *blBitmapFormatImageRGB, *blBitmapFormatImageRGBA, *bitmapImage = nil;
NSEnumerator *enumerator;
@@ -1296,7 +1296,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleDraggingEvent(GHOST_TEventType eventType
/* First get RGB values w/o Alpha to avoid pre-multiplication,
* 32bit but last byte is unused */
blBitmapFormatImageRGB = [[NSBitmapImageRep alloc]
initWithBitmapDataPlanes:NULL
initWithBitmapDataPlanes:nullptr
pixelsWide:imgSize.width
pixelsHigh:imgSize.height
bitsPerSample:8
@@ -1316,7 +1316,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleDraggingEvent(GHOST_TEventType eventType
[NSGraphicsContext restoreGraphicsState];
rasterRGB = (uint8_t *)[blBitmapFormatImageRGB bitmapData];
if (rasterRGB == NULL) {
if (rasterRGB == nullptr) {
[bitmapImage release];
[blBitmapFormatImageRGB release];
[droppedImg release];
@@ -1325,7 +1325,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleDraggingEvent(GHOST_TEventType eventType
/* Then get Alpha values by getting the RGBA image (that is pre-multiplied BTW) */
blBitmapFormatImageRGBA = [[NSBitmapImageRep alloc]
initWithBitmapDataPlanes:NULL
initWithBitmapDataPlanes:nullptr
pixelsWide:imgSize.width
pixelsHigh:imgSize.height
bitsPerSample:8
@@ -1345,7 +1345,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleDraggingEvent(GHOST_TEventType eventType
[NSGraphicsContext restoreGraphicsState];
rasterRGBA = (uint8_t *)[blBitmapFormatImageRGBA bitmapData];
if (rasterRGBA == NULL) {
if (rasterRGBA == nullptr) {
[bitmapImage release];
[blBitmapFormatImageRGB release];
[blBitmapFormatImageRGBA release];
@@ -1422,7 +1422,7 @@ bool GHOST_SystemCocoa::handleOpenDocumentRequest(void *filepathStr)
}
GHOST_Window *window = m_windowManager->getWindows().empty() ?
NULL :
nullptr :
(GHOST_Window *)m_windowManager->getWindows().front();
if (!window) {
@@ -1438,7 +1438,7 @@ bool GHOST_SystemCocoa::handleOpenDocumentRequest(void *filepathStr)
filenameTextSize = [filepath lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
temp_buff = (char *)malloc(filenameTextSize + 1);
if (temp_buff == NULL) {
if (temp_buff == nullptr) {
return GHOST_kFailure;
}
@@ -1898,7 +1898,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleKeyEvent(void *eventPtr)
}
else {
pushEvent(new GHOST_EventKey(
[event timestamp] * 1000, GHOST_kEventKeyUp, window, keyCode, false, NULL));
[event timestamp] * 1000, GHOST_kEventKeyUp, window, keyCode, false, nullptr));
#if 0
printf("Key up rawCode=0x%x charsIgnoringModifiers=%c keyCode=%u utf8=%s\n",
[event keyCode],
@@ -1976,15 +1976,15 @@ char *GHOST_SystemCocoa::getClipboard(bool /*selection*/) const
NSString *textPasted = [pasteBoard stringForType:NSPasteboardTypeString];
if (textPasted == nil) {
return NULL;
return nullptr;
}
pastedTextSize = [textPasted lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
temp_buff = (char *)malloc(pastedTextSize + 1);
if (temp_buff == NULL) {
return NULL;
if (temp_buff == nullptr) {
return nullptr;
}
strncpy(temp_buff, [textPasted cStringUsingEncoding:NSUTF8StringEncoding], pastedTextSize);
@@ -1995,7 +1995,7 @@ char *GHOST_SystemCocoa::getClipboard(bool /*selection*/) const
return temp_buff;
}
else {
return NULL;
return nullptr;
}
}
}

View File

@@ -26,7 +26,7 @@ static const char *GetApplicationSupportDir(const char *versionstr,
NSApplicationSupportDirectory, mask, YES);
if ([paths count] == 0) {
return NULL;
return nullptr;
}
const NSString *const basePath = [paths objectAtIndex:0];
@@ -83,13 +83,13 @@ const char *GHOST_SystemPathsCocoa::getUserSpecialDir(GHOST_TUserSpecialDirTypes
GHOST_ASSERT(
false,
"GHOST_SystemPathsCocoa::getUserSpecialDir(): Invalid enum value for type parameter");
return NULL;
return nullptr;
}
const NSArray *const paths = NSSearchPathForDirectoriesInDomains(
ns_directory, NSUserDomainMask, YES);
if ([paths count] == 0) {
return NULL;
return nullptr;
}
const NSString *const basePath = [paths objectAtIndex:0];
@@ -106,7 +106,7 @@ const char *GHOST_SystemPathsCocoa::getBinaryDir() const
const NSString *const basePath = [[NSBundle mainBundle] bundlePath];
if (basePath == nil) {
return NULL;
return nullptr;
}
strcpy(tempPath, [basePath cStringUsingEncoding:NSASCIIStringEncoding]);

View File

@@ -23,10 +23,10 @@ const char *GHOST_SystemPathsWin32::getSystemDir(int, const char *versionstr) co
{
/* 1 utf-16 might translate into 3 utf-8. 2 utf-16 translates into 4 utf-8. */
static char knownpath[MAX_PATH * 3 + 128] = {0};
PWSTR knownpath_16 = NULL;
PWSTR knownpath_16 = nullptr;
HRESULT hResult = SHGetKnownFolderPath(
FOLDERID_ProgramData, KF_FLAG_DEFAULT, NULL, &knownpath_16);
FOLDERID_ProgramData, KF_FLAG_DEFAULT, nullptr, &knownpath_16);
if (hResult == S_OK) {
conv_utf_16_to_8(knownpath_16, knownpath, MAX_PATH * 3);
@@ -36,16 +36,16 @@ const char *GHOST_SystemPathsWin32::getSystemDir(int, const char *versionstr) co
return knownpath;
}
return NULL;
return nullptr;
}
const char *GHOST_SystemPathsWin32::getUserDir(int, const char *versionstr) const
{
static char knownpath[MAX_PATH * 3 + 128] = {0};
PWSTR knownpath_16 = NULL;
PWSTR knownpath_16 = nullptr;
HRESULT hResult = SHGetKnownFolderPath(
FOLDERID_RoamingAppData, KF_FLAG_DEFAULT, NULL, &knownpath_16);
FOLDERID_RoamingAppData, KF_FLAG_DEFAULT, nullptr, &knownpath_16);
if (hResult == S_OK) {
conv_utf_16_to_8(knownpath_16, knownpath, MAX_PATH * 3);
@@ -55,7 +55,7 @@ const char *GHOST_SystemPathsWin32::getUserDir(int, const char *versionstr) cons
return knownpath;
}
return NULL;
return nullptr;
}
const char *GHOST_SystemPathsWin32::getUserSpecialDir(GHOST_TUserSpecialDirTypes type) const
@@ -88,12 +88,12 @@ const char *GHOST_SystemPathsWin32::getUserSpecialDir(GHOST_TUserSpecialDirTypes
GHOST_ASSERT(
false,
"GHOST_SystemPathsWin32::getUserSpecialDir(): Invalid enum value for type parameter");
return NULL;
return nullptr;
}
static char knownpath[MAX_PATH * 3] = {0};
PWSTR knownpath_16 = NULL;
HRESULT hResult = SHGetKnownFolderPath(folderid, KF_FLAG_DEFAULT, NULL, &knownpath_16);
PWSTR knownpath_16 = nullptr;
HRESULT hResult = SHGetKnownFolderPath(folderid, KF_FLAG_DEFAULT, nullptr, &knownpath_16);
if (hResult == S_OK) {
conv_utf_16_to_8(knownpath_16, knownpath, MAX_PATH * 3);
@@ -102,7 +102,7 @@ const char *GHOST_SystemPathsWin32::getUserSpecialDir(GHOST_TUserSpecialDirTypes
}
CoTaskMemFree(knownpath_16);
return NULL;
return nullptr;
}
const char *GHOST_SystemPathsWin32::getBinaryDir() const
@@ -115,7 +115,7 @@ const char *GHOST_SystemPathsWin32::getBinaryDir() const
return fullname;
}
return NULL;
return nullptr;
}
void GHOST_SystemPathsWin32::addToSystemRecentFiles(const char *filepath) const
@@ -125,11 +125,11 @@ void GHOST_SystemPathsWin32::addToSystemRecentFiles(const char *filepath) const
SHARDAPPIDINFO info;
IShellItem *shell_item;
HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
HRESULT hr = CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
if (!SUCCEEDED(hr))
return;
hr = SHCreateItemFromParsingName(filepath_16, NULL, IID_PPV_ARGS(&shell_item));
hr = SHCreateItemFromParsingName(filepath_16, nullptr, IID_PPV_ARGS(&shell_item));
if (SUCCEEDED(hr)) {
info.psi = shell_item;
info.pszAppID = BLENDER_WIN_APPID_16;

View File

@@ -736,12 +736,12 @@ struct GWL_Seat {
/**
* Keep a state with shift enabled, use to access predictable number access for AZERTY keymaps.
* If shift is not supported by the key-map, this is set to NULL.
* If shift is not supported by the key-map, this is set to nullptr.
*/
struct xkb_state *xkb_state_empty_with_shift = nullptr;
/**
* Keep a state with number-lock enabled, use to access predictable key-pad symbols.
* If number-lock is not supported by the key-map, this is set to NULL.
* If number-lock is not supported by the key-map, this is set to nullptr.
*/
struct xkb_state *xkb_state_empty_with_numlock = nullptr;
@@ -1789,7 +1789,7 @@ static size_t ghost_wl_shm_format_as_size(enum wl_shm_format format)
}
/**
* Return a #wl_buffer, ready to have it's data filled in or NULL in case of failure.
* Return a #wl_buffer, ready to have it's data filled in or nullptr in case of failure.
* The caller is responsible for calling `unmap(buffer_data, buffer_size)`.
*
* \param r_buffer_data: The buffer to be filled.
@@ -4993,7 +4993,7 @@ static void gwl_registry_wl_seat_remove(GWL_Display *display, void *user_data, c
gwl_seat_capability_keyboard_disable(seat);
gwl_seat_capability_touch_disable(seat);
/* Un-referencing checks for NULL case. */
/* Un-referencing checks for nullptr case. */
xkb_state_unref(seat->xkb_state);
xkb_state_unref(seat->xkb_state_empty);
xkb_state_unref(seat->xkb_state_empty_with_shift);
@@ -6270,7 +6270,7 @@ GHOST_IContext *GHOST_SystemWayland::createOffscreenContext(GHOST_GPUSettings gp
GHOST_Context *context = new GHOST_ContextVK(false,
GHOST_kVulkanPlatformWayland,
0,
NULL,
nullptr,
wl_surface,
display_->wl_display,
1,
@@ -6997,7 +6997,7 @@ GHOST_TimerManager *GHOST_SystemWayland::ghost_timer_manager()
GWL_Output *ghost_wl_output_user_data(wl_output *wl_output)
{
GHOST_ASSERT(wl_output, "output must not be NULL");
GHOST_ASSERT(wl_output, "output must not be nullptr");
GHOST_ASSERT(ghost_wl_output_own(wl_output), "output is not owned by GHOST");
GWL_Output *output = static_cast<GWL_Output *>(wl_output_get_user_data(wl_output));
return output;
@@ -7005,7 +7005,7 @@ GWL_Output *ghost_wl_output_user_data(wl_output *wl_output)
GHOST_WindowWayland *ghost_wl_surface_user_data(wl_surface *wl_surface)
{
GHOST_ASSERT(wl_surface, "wl_surface must not be NULL");
GHOST_ASSERT(wl_surface, "wl_surface must not be nullptr");
GHOST_ASSERT(ghost_wl_surface_own(wl_surface), "wl_surface is not owned by GHOST");
GHOST_WindowWayland *win = static_cast<GHOST_WindowWayland *>(
wl_surface_get_user_data(wl_surface));

View File

@@ -256,7 +256,7 @@ class GHOST_SystemWayland : public GHOST_System {
void output_scale_update(GWL_Output *output);
/**
* Clear all references to this surface to prevent accessing NULL pointers.
* Clear all references to this surface to prevent accessing nullptr pointers.
*
* \return true when any references were removed.
*/

View File

@@ -255,7 +255,7 @@ GHOST_IWindow *GHOST_SystemWin32::createWindow(const char *title,
else {
GHOST_PRINT("GHOST_SystemWin32::createWindow(): window invalid\n");
delete window;
window = NULL;
window = nullptr;
}
return window;
@@ -293,10 +293,10 @@ GHOST_IContext *GHOST_SystemWin32::createOffscreenContext(GHOST_GPUSettings gpuS
0,
64,
64,
NULL,
NULL,
GetModuleHandle(NULL),
NULL);
nullptr,
nullptr,
GetModuleHandle(nullptr),
nullptr);
HDC mHDC = GetDC(wnd);
HDC prev_hdc = wglGetCurrentDC();
@@ -356,10 +356,10 @@ GHOST_ContextD3D *GHOST_SystemWin32::createOffscreenContextD3D()
0,
64,
64,
NULL,
NULL,
GetModuleHandle(NULL),
NULL);
nullptr,
nullptr,
GetModuleHandle(nullptr),
nullptr);
GHOST_ContextD3D *context = new GHOST_ContextD3D(false, wnd);
if (context->initializeDrawingContext()) {
@@ -384,7 +384,7 @@ bool GHOST_SystemWin32::processEvents(bool waitForEvent)
do {
GHOST_TimerManager *timerMgr = getTimerManager();
if (waitForEvent && !::PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)) {
if (waitForEvent && !::PeekMessage(&msg, nullptr, 0, 0, PM_NOREMOVE)) {
#if 1
::Sleep(1);
#else
@@ -395,9 +395,9 @@ bool GHOST_SystemWin32::processEvents(bool waitForEvent)
::WaitMessage();
}
else if (maxSleep >= 0.0) {
::SetTimer(NULL, 0, maxSleep, NULL);
::SetTimer(nullptr, 0, maxSleep, nullptr);
::WaitMessage();
::KillTimer(NULL, 0);
::KillTimer(nullptr, 0);
}
#endif
}
@@ -409,7 +409,7 @@ bool GHOST_SystemWin32::processEvents(bool waitForEvent)
driveTrackpad();
/* Process all the events waiting for us. */
while (::PeekMessageW(&msg, NULL, 0, 0, PM_REMOVE) != 0) {
while (::PeekMessageW(&msg, nullptr, 0, 0, PM_REMOVE) != 0) {
/* #TranslateMessage doesn't alter the message, and doesn't change our raw keyboard data.
* Needed for #MapVirtualKey or if we ever need to get chars from wm_ime_char or similar. */
::TranslateMessage(&msg);
@@ -532,7 +532,7 @@ GHOST_TSuccess GHOST_SystemWin32::init()
wc.hIcon = ::LoadIcon(wc.hInstance, "APPICON");
if (!wc.hIcon) {
::LoadIcon(NULL, IDI_APPLICATION);
::LoadIcon(nullptr, IDI_APPLICATION);
}
wc.hCursor = ::LoadCursor(0, IDC_ARROW);
wc.hbrBackground =
@@ -1062,7 +1062,7 @@ GHOST_EventCursor *GHOST_SystemWin32::processCursorEvent(GHOST_WindowWin32 *wind
if (window->getTabletData().Active != GHOST_kTabletModeNone) {
/* While pen devices are in range, cursor movement is handled by tablet input processing. */
return NULL;
return nullptr;
}
int32_t x_screen = screen_co[0], y_screen = screen_co[1];
@@ -1138,7 +1138,7 @@ GHOST_EventCursor *GHOST_SystemWin32::processCursorEvent(GHOST_WindowWin32 *wind
/* When wrapping we don't need to add an event because the setCursorPosition call will cause
* a new event after. */
return NULL;
return nullptr;
}
is_warping_x = false;
@@ -1247,7 +1247,7 @@ GHOST_EventKey *GHOST_SystemWin32::processKeyEvent(GHOST_WindowWin32 *window, RA
if (key_down && ((utf8_char[0] & 0x80) == 0)) {
const char ascii = utf8_char[0];
if (window->getImeInput()->IsImeKeyEvent(ascii, key)) {
return NULL;
return nullptr;
}
}
#endif /* WITH_INPUT_IME */
@@ -1264,7 +1264,7 @@ GHOST_EventKey *GHOST_SystemWin32::processKeyEvent(GHOST_WindowWin32 *window, RA
#endif
}
else {
event = NULL;
event = nullptr;
}
return event;
@@ -1280,7 +1280,7 @@ GHOST_Event *GHOST_SystemWin32::processWindowSizeEvent(GHOST_WindowWin32 *window
if (window->m_inLiveResize) {
system->pushEvent(sizeEvent);
system->dispatchEvents();
return NULL;
return nullptr;
}
return sizeEvent;
}
@@ -1468,7 +1468,7 @@ void GHOST_SystemWin32::processTrackpad()
LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, uint msg, WPARAM wParam, LPARAM lParam)
{
GHOST_Event *event = NULL;
GHOST_Event *event = nullptr;
bool eventHandled = false;
LRESULT lResult = 0;
@@ -2011,7 +2011,7 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, uint msg, WPARAM wParam,
*/
if (!window->m_inLiveResize) {
event = processWindowEvent(GHOST_kEventWindowUpdate, window);
::ValidateRect(hwnd, NULL);
::ValidateRect(hwnd, nullptr);
}
else {
eventHandled = true;
@@ -2084,7 +2084,7 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, uint msg, WPARAM wParam,
/* Then move and resize window. */
SetWindowPos(hwnd,
NULL,
nullptr,
suggestedWindowRect->left,
suggestedWindowRect->top,
suggestedWindowRect->right - suggestedWindowRect->left,
@@ -2111,8 +2111,10 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, uint msg, WPARAM wParam,
break;
}
case WM_SETTINGCHANGE: {
/* Microsoft: "Note that some applications send this message with lParam set to NULL" */
if ((lParam != NULL) && (wcscmp(LPCWSTR(lParam), L"ImmersiveColorSet") == 0)) {
/* Microsoft: "Note that some applications send this message with lParam set to nullptr"
*/
if (((void *)lParam != nullptr) && (wcscmp(LPCWSTR(lParam), L"ImmersiveColorSet") == 0))
{
window->ThemeRefresh();
}
break;
@@ -2228,17 +2230,17 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, uint msg, WPARAM wParam,
char *GHOST_SystemWin32::getClipboard(bool /*selection*/) const
{
if (IsClipboardFormatAvailable(CF_UNICODETEXT) && OpenClipboard(NULL)) {
if (IsClipboardFormatAvailable(CF_UNICODETEXT) && OpenClipboard(nullptr)) {
wchar_t *buffer;
HANDLE hData = GetClipboardData(CF_UNICODETEXT);
if (hData == NULL) {
if (hData == nullptr) {
CloseClipboard();
return NULL;
return nullptr;
}
buffer = (wchar_t *)GlobalLock(hData);
if (!buffer) {
CloseClipboard();
return NULL;
return nullptr;
}
char *temp_buff = alloc_utf_8_from_16(buffer, 0);
@@ -2250,18 +2252,18 @@ char *GHOST_SystemWin32::getClipboard(bool /*selection*/) const
return temp_buff;
}
if (IsClipboardFormatAvailable(CF_TEXT) && OpenClipboard(NULL)) {
if (IsClipboardFormatAvailable(CF_TEXT) && OpenClipboard(nullptr)) {
char *buffer;
size_t len = 0;
HANDLE hData = GetClipboardData(CF_TEXT);
if (hData == NULL) {
if (hData == nullptr) {
CloseClipboard();
return NULL;
return nullptr;
}
buffer = (char *)GlobalLock(hData);
if (!buffer) {
CloseClipboard();
return NULL;
return nullptr;
}
len = strlen(buffer);
@@ -2285,7 +2287,7 @@ void GHOST_SystemWin32::putClipboard(const char *buffer, bool selection) const
return;
} /* For copying the selection, used on X11. */
if (OpenClipboard(NULL)) {
if (OpenClipboard(nullptr)) {
EmptyClipboard();
/* Get length of buffer including the terminating null. */
@@ -2589,10 +2591,10 @@ GHOST_TSuccess GHOST_SystemWin32::showMessageBox(const char *title,
config.pButtons = (link) ? buttons : buttons + 1;
config.cButtons = (link) ? 2 : 1;
TaskDialogIndirect(&config, &nButtonPressed, NULL, NULL);
TaskDialogIndirect(&config, &nButtonPressed, nullptr, nullptr);
switch (nButtonPressed) {
case IDOK:
ShellExecute(NULL, "open", link, NULL, NULL, SW_SHOWNORMAL);
ShellExecute(nullptr, "open", link, nullptr, nullptr, SW_SHOWNORMAL);
break;
case IDCONTINUE:
break;
@@ -2659,8 +2661,8 @@ static bool isStartedFromCommandPrompt()
GetWindowThreadProcessId(hwnd, &pid);
if (getProcessName(ppid, parent_name, sizeof(parent_name))) {
char *filename = strrchr(parent_name, '\\');
if (filename != NULL) {
start_from_launcher = strstr(filename, "blender.exe") != NULL;
if (filename != nullptr) {
start_from_launcher = strstr(filename, "blender.exe") != nullptr;
}
}

View File

@@ -359,7 +359,7 @@ GHOST_IContext *GHOST_SystemX11::createOffscreenContext(GHOST_GPUSettings gpuSet
#ifdef WITH_VULKAN_BACKEND
case GHOST_kDrawingContextTypeVulkan: {
GHOST_Context *context = new GHOST_ContextVK(
false, GHOST_kVulkanPlatformX11, 0, m_display, NULL, NULL, 1, 2, debug_context);
false, GHOST_kVulkanPlatformX11, 0, m_display, nullptr, nullptr, 1, 2, debug_context);
if (context->initializeDrawingContext()) {
return context;
}

View File

@@ -21,8 +21,8 @@ GHOST_DirectManipulationHelper::GHOST_DirectManipulationHelper(
DWORD directManipulationViewportHandlerCookie,
bool isScrollDirectionInverted)
: m_hWnd(hWnd),
m_scrollDirectionRegKey(NULL),
m_scrollDirectionChangeEvent(NULL),
m_scrollDirectionRegKey(nullptr),
m_scrollDirectionChangeEvent(nullptr),
m_directManipulationManager(directManipulationManager),
m_directManipulationUpdateManager(directManipulationUpdateManager),
m_directManipulationViewport(directManipulationViewport),
@@ -123,7 +123,7 @@ bool GHOST_DirectManipulationHelper::getScrollDirectionFromReg()
L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\PrecisionTouchPad\\",
L"ScrollDirection",
RRF_RT_REG_DWORD,
NULL,
nullptr,
&scrollDirectionRegValue,
&pcbData));
if (!SUCCEEDED(hr)) {
@@ -151,7 +151,7 @@ void GHOST_DirectManipulationHelper::registerScrollDirectionChangeListener()
}
if (!m_scrollDirectionChangeEvent) {
m_scrollDirectionChangeEvent = CreateEventW(NULL, true, false, NULL);
m_scrollDirectionChangeEvent = CreateEventW(nullptr, true, false, nullptr);
}
else {
ResetEvent(m_scrollDirectionChangeEvent);
@@ -219,11 +219,11 @@ GHOST_DirectManipulationHelper::~GHOST_DirectManipulationHelper()
if (m_scrollDirectionChangeEvent) {
CloseHandle(m_scrollDirectionChangeEvent);
m_scrollDirectionChangeEvent = NULL;
m_scrollDirectionChangeEvent = nullptr;
}
if (m_scrollDirectionRegKey) {
RegCloseKey(m_scrollDirectionRegKey);
m_scrollDirectionRegKey = NULL;
m_scrollDirectionRegKey = nullptr;
}
}

View File

@@ -458,7 +458,7 @@ GHOST_WindowCocoa::~GHOST_WindowCocoa()
bool GHOST_WindowCocoa::getValid() const
{
NSView *view = (m_openGLView) ? m_openGLView : m_metalView;
return GHOST_Window::getValid() && m_window != NULL && view != NULL;
return GHOST_Window::getValid() && m_window != nullptr && view != nullptr;
}
void *GHOST_WindowCocoa::getOSWindow() const
@@ -940,7 +940,7 @@ static NSCursor *getImageCursor(GHOST_TStandardCursor shape, NSString *name, NSP
@autoreleasepool {
/* clang-format on */
NSImage *image = [NSImage imageNamed:name];
if (image != NULL) {
if (image != nullptr) {
cursors[index] = [[NSCursor alloc] initWithImage:image hotSpot:hotspot];
}
}
@@ -959,7 +959,7 @@ NSCursor *GHOST_WindowCocoa::getStandardCursor(GHOST_TStandardCursor shape) cons
return m_customCursor;
}
else {
return NULL;
return nullptr;
}
case GHOST_kStandardCursorDestroy:
return [NSCursor disappearingItemCursor];
@@ -1024,7 +1024,7 @@ NSCursor *GHOST_WindowCocoa::getStandardCursor(GHOST_TStandardCursor shape) cons
case GHOST_kStandardCursorCrosshairC:
return getImageCursor(shape, @"crossc.pdf", NSMakePoint(16, 16));
default:
return NULL;
return nullptr;
}
}
@@ -1043,7 +1043,7 @@ void GHOST_WindowCocoa::loadCursor(bool visible, GHOST_TStandardCursor shape) co
}
NSCursor *cursor = getStandardCursor(shape);
if (cursor == NULL) {
if (cursor == nullptr) {
cursor = getStandardCursor(GHOST_kStandardCursorDefault);
}

View File

@@ -59,7 +59,7 @@ class GHOST_WindowManager {
/**
* Returns pointer to the full-screen window.
* \return The full-screen window (NULL if not in full-screen).
* \return The full-screen window (nullptr if not in full-screen).
*/
GHOST_IWindow *getFullScreenWindow() const;
@@ -86,7 +86,7 @@ class GHOST_WindowManager {
/**
* Returns the active window (the window receiving events).
* There can be only one window active which should be in the current window list.
* \return window The active window (or NULL if there is none).
* \return window The active window (or nullptr if there is none).
*/
GHOST_IWindow *getActiveWindow() const;

View File

@@ -1762,7 +1762,7 @@ GHOST_Context *GHOST_WindowWayland::newDrawingContext(GHOST_TDrawingContextType
GHOST_Context *context = new GHOST_ContextVK(m_wantStereoVisual,
GHOST_kVulkanPlatformWayland,
0,
NULL,
nullptr,
window_->wl_surface,
system_->wl_display(),
1,

View File

@@ -62,7 +62,7 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system,
m_mousePresent(false),
m_inLiveResize(false),
m_system(system),
m_dropTarget(NULL),
m_dropTarget(nullptr),
m_hWnd(0),
m_hDC(0),
m_isDialog(dialog),
@@ -71,13 +71,13 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system,
m_nPressedButtons(0),
m_customCursor(0),
m_wantAlphaBackground(alphaBackground),
m_Bar(NULL),
m_wintab(NULL),
m_Bar(nullptr),
m_wintab(nullptr),
m_lastPointerTabletData(GHOST_TABLET_DATA_NONE),
m_normal_state(GHOST_kWindowStateNormal),
m_user32(::LoadLibrary("user32.dll")),
m_parentWindowHwnd(parentwindow ? parentwindow->m_hWnd : HWND_DESKTOP),
m_directManipulationHelper(NULL),
m_directManipulationHelper(nullptr),
m_debug_context(is_debug)
{
DWORD style = parentwindow ?
@@ -116,7 +116,7 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system,
0); /* pointer to window-creation data */
free(title_16);
if (m_hWnd == NULL) {
if (m_hWnd == nullptr) {
return;
}
@@ -140,7 +140,7 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system,
MessageBox(m_hWnd, text, title, MB_OK | MB_ICONERROR);
::ReleaseDC(m_hWnd, m_hDC);
::DestroyWindow(m_hWnd);
m_hWnd = NULL;
m_hWnd = nullptr;
if (!parentwindow) {
exit(0);
}
@@ -215,7 +215,7 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system,
/* Allow the showing of a progress bar on the taskbar. */
CoCreateInstance(
CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_ITaskbarList3, (LPVOID *)&m_Bar);
CLSID_TaskbarList, nullptr, CLSCTX_INPROC_SERVER, IID_ITaskbarList3, (LPVOID *)&m_Bar);
/* Initialize Direct Manipulation. */
m_directManipulationHelper = GHOST_DirectManipulationHelper::create(m_hWnd, getDPIHint());
@@ -263,24 +263,24 @@ GHOST_WindowWin32::~GHOST_WindowWin32()
if (m_Bar) {
m_Bar->SetProgressState(m_hWnd, TBPF_NOPROGRESS);
m_Bar->Release();
m_Bar = NULL;
m_Bar = nullptr;
}
closeWintab();
if (m_user32) {
FreeLibrary(m_user32);
m_user32 = NULL;
m_user32 = nullptr;
}
if (m_customCursor) {
DestroyCursor(m_customCursor);
m_customCursor = NULL;
m_customCursor = nullptr;
}
if (m_hWnd != NULL && m_hDC != NULL && releaseNativeHandles()) {
if (m_hWnd != nullptr && m_hDC != nullptr && releaseNativeHandles()) {
::ReleaseDC(m_hWnd, m_hDC);
m_hDC = NULL;
m_hDC = nullptr;
}
if (m_hWnd) {
@@ -289,7 +289,7 @@ GHOST_WindowWin32::~GHOST_WindowWin32()
for (GHOST_IWindow *iter_win : m_system->getWindowManager()->getWindows()) {
GHOST_WindowWin32 *iter_winwin = (GHOST_WindowWin32 *)iter_win;
if (iter_winwin->m_parentWindowHwnd == m_hWnd) {
::SetWindowLongPtr(iter_winwin->m_hWnd, GWLP_HWNDPARENT, NULL);
::SetWindowLongPtr(iter_winwin->m_hWnd, GWLP_HWNDPARENT, 0);
iter_winwin->m_parentWindowHwnd = 0;
}
}
@@ -299,15 +299,15 @@ GHOST_WindowWin32::~GHOST_WindowWin32()
RevokeDragDrop(m_hWnd);
/* Release our reference of the DropTarget and it will delete itself eventually. */
m_dropTarget->Release();
m_dropTarget = NULL;
m_dropTarget = nullptr;
}
::SetWindowLongPtr(m_hWnd, GWLP_USERDATA, NULL);
::SetWindowLongPtr(m_hWnd, GWLP_USERDATA, 0);
::DestroyWindow(m_hWnd);
m_hWnd = 0;
}
delete m_directManipulationHelper;
m_directManipulationHelper = NULL;
m_directManipulationHelper = nullptr;
}
void GHOST_WindowWin32::adjustWindowRectForClosestMonitor(LPRECT win_rect,
@@ -565,7 +565,7 @@ GHOST_TSuccess GHOST_WindowWin32::setOrder(GHOST_TWindowOrder order)
setState(GHOST_kWindowStateNormal);
}
hWndInsertAfter = HWND_TOP;
hWndToRaise = NULL;
hWndToRaise = nullptr;
}
if (::SetWindowPos(m_hWnd, hWndInsertAfter, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE) == FALSE) {
@@ -690,7 +690,7 @@ void GHOST_WindowWin32::updateMouseCapture(GHOST_MouseCaptureEventWin32 event)
HCURSOR GHOST_WindowWin32::getStandardCursor(GHOST_TStandardCursor shape) const
{
/* Convert GHOST cursor to Windows OEM cursor. */
HANDLE cursor = NULL;
HANDLE cursor = nullptr;
HMODULE module = ::GetModuleHandle(0);
uint32_t flags = LR_SHARED | LR_DEFAULTSIZE;
int cx = 0, cy = 0;
@@ -701,7 +701,7 @@ HCURSOR GHOST_WindowWin32::getStandardCursor(GHOST_TStandardCursor shape) const
return m_customCursor;
}
else {
return NULL;
return nullptr;
}
case GHOST_kStandardCursorRightArrow:
cursor = ::LoadImage(module, "arrowright_cursor", IMAGE_CURSOR, cx, cy, flags);
@@ -746,13 +746,13 @@ HCURSOR GHOST_WindowWin32::getStandardCursor(GHOST_TStandardCursor shape) const
cursor = ::LoadImage(module, "scrollew_cursor", IMAGE_CURSOR, cx, cy, flags);
break;
case GHOST_kStandardCursorHelp:
cursor = ::LoadImage(NULL, IDC_HELP, IMAGE_CURSOR, cx, cy, flags);
cursor = ::LoadImage(nullptr, IDC_HELP, IMAGE_CURSOR, cx, cy, flags);
break; /* Arrow and question mark */
case GHOST_kStandardCursorWait:
cursor = ::LoadImage(NULL, IDC_WAIT, IMAGE_CURSOR, cx, cy, flags);
cursor = ::LoadImage(nullptr, IDC_WAIT, IMAGE_CURSOR, cx, cy, flags);
break; /* Hourglass */
case GHOST_kStandardCursorText:
cursor = ::LoadImage(NULL, IDC_IBEAM, IMAGE_CURSOR, cx, cy, flags);
cursor = ::LoadImage(nullptr, IDC_IBEAM, IMAGE_CURSOR, cx, cy, flags);
break; /* I-beam */
case GHOST_kStandardCursorCrosshair:
cursor = ::LoadImage(module, "cross_cursor", IMAGE_CURSOR, cx, cy, flags);
@@ -775,19 +775,19 @@ HCURSOR GHOST_WindowWin32::getStandardCursor(GHOST_TStandardCursor shape) const
cursor = ::LoadImage(module, "moveew_cursor", IMAGE_CURSOR, cx, cy, flags);
break; /* Double-pointed arrow pointing west and east */
case GHOST_kStandardCursorTopSide:
cursor = ::LoadImage(NULL, IDC_UPARROW, IMAGE_CURSOR, cx, cy, flags);
cursor = ::LoadImage(nullptr, IDC_UPARROW, IMAGE_CURSOR, cx, cy, flags);
break; /* Vertical arrow */
case GHOST_kStandardCursorTopLeftCorner:
cursor = ::LoadImage(NULL, IDC_SIZENWSE, IMAGE_CURSOR, cx, cy, flags);
cursor = ::LoadImage(nullptr, IDC_SIZENWSE, IMAGE_CURSOR, cx, cy, flags);
break;
case GHOST_kStandardCursorTopRightCorner:
cursor = ::LoadImage(NULL, IDC_SIZENESW, IMAGE_CURSOR, cx, cy, flags);
cursor = ::LoadImage(nullptr, IDC_SIZENESW, IMAGE_CURSOR, cx, cy, flags);
break;
case GHOST_kStandardCursorBottomRightCorner:
cursor = ::LoadImage(NULL, IDC_SIZENWSE, IMAGE_CURSOR, cx, cy, flags);
cursor = ::LoadImage(nullptr, IDC_SIZENWSE, IMAGE_CURSOR, cx, cy, flags);
break;
case GHOST_kStandardCursorBottomLeftCorner:
cursor = ::LoadImage(NULL, IDC_SIZENESW, IMAGE_CURSOR, cx, cy, flags);
cursor = ::LoadImage(nullptr, IDC_SIZENESW, IMAGE_CURSOR, cx, cy, flags);
break;
case GHOST_kStandardCursorPencil:
cursor = ::LoadImage(module, "pencil_cursor", IMAGE_CURSOR, cx, cy, flags);
@@ -800,14 +800,14 @@ HCURSOR GHOST_WindowWin32::getStandardCursor(GHOST_TStandardCursor shape) const
cursor = ::LoadImage(module, "forbidden_cursor", IMAGE_CURSOR, cx, cy, flags);
break; /* Slashed circle */
case GHOST_kStandardCursorDefault:
cursor = NULL;
cursor = nullptr;
break;
default:
return NULL;
return nullptr;
}
if (cursor == NULL) {
cursor = ::LoadImage(NULL, IDC_ARROW, IMAGE_CURSOR, cx, cy, flags);
if (cursor == nullptr) {
cursor = ::LoadImage(nullptr, IDC_ARROW, IMAGE_CURSOR, cx, cy, flags);
}
return (HCURSOR)cursor;
@@ -825,7 +825,7 @@ void GHOST_WindowWin32::loadCursor(bool visible, GHOST_TStandardCursor shape) co
}
HCURSOR cursor = getStandardCursor(shape);
if (cursor == NULL) {
if (cursor == nullptr) {
cursor = getStandardCursor(GHOST_kStandardCursorDefault);
}
::SetCursor(cursor);
@@ -899,7 +899,7 @@ GHOST_TSuccess GHOST_WindowWin32::getPointerInfo(
GHOST_SystemWin32 *system = (GHOST_SystemWin32 *)GHOST_System::getSystem();
uint32_t outCount = 0;
if (!(GetPointerPenInfoHistory(pointerId, &outCount, NULL))) {
if (!(GetPointerPenInfoHistory(pointerId, &outCount, nullptr))) {
return GHOST_kFailure;
}
@@ -1010,7 +1010,7 @@ void GHOST_WindowWin32::closeWintab()
{
WINTAB_PRINTF("Closing Wintab for window %p\n", m_hWnd);
delete m_wintab;
m_wintab = NULL;
m_wintab = nullptr;
}
bool GHOST_WindowWin32::usingTabletAPI(GHOST_TTabletAPI api) const
@@ -1049,7 +1049,7 @@ void GHOST_WindowWin32::ThemeRefresh()
L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize\\",
L"AppsUseLightTheme",
RRF_RT_REG_DWORD,
NULL,
nullptr,
&lightMode,
&pcbData) == ERROR_SUCCESS)
{
@@ -1124,7 +1124,7 @@ GHOST_TSuccess GHOST_WindowWin32::setWindowCustomCursorShape(uint8_t *bitmap,
if (m_customCursor) {
DestroyCursor(m_customCursor);
m_customCursor = NULL;
m_customCursor = nullptr;
}
memset(&andData, 0xFF, sizeof(andData));

View File

@@ -1182,8 +1182,8 @@ GHOST_Context *GHOST_WindowX11::newDrawingContext(GHOST_TDrawingContextType type
GHOST_kVulkanPlatformX11,
m_window,
m_display,
NULL,
NULL,
nullptr,
nullptr,
1,
2,
m_is_debug_context);

View File

@@ -276,7 +276,7 @@ void GHOST_XrContext::setErrorHandler(GHOST_XrErrorHandlerFn handler_fn, void *c
* \{ */
/**
* \param layer_name: May be NULL for extensions not belonging to a specific layer.
* \param layer_name: May be nullptr for extensions not belonging to a specific layer.
*/
void GHOST_XrContext::initExtensionsEx(std::vector<XrExtensionProperties> &extensions,
const char *layer_name)
@@ -462,7 +462,7 @@ std::vector<GHOST_TXrGraphicsBinding> GHOST_XrContext::determineGraphicsBindingT
const GHOST_XrContextCreateInfo *create_info)
{
std::vector<GHOST_TXrGraphicsBinding> result;
assert(create_info->gpu_binding_candidates != NULL);
assert(create_info->gpu_binding_candidates != nullptr);
assert(create_info->gpu_binding_candidates_count > 0);
for (uint32_t i = 0; i < create_info->gpu_binding_candidates_count; i++) {

View File

@@ -277,7 +277,8 @@ GHOST_XrSession::LifeExpectancy GHOST_XrSession::handleStateChangeEvent(
{
m_oxr->session_state = lifecycle.state;
/* Runtime may send events for apparently destroyed session. Our handle should be NULL then. */
/* Runtime may send events for apparently destroyed session. Our handle should be nullptr then.
*/
assert(m_oxr->session == XR_NULL_HANDLE || m_oxr->session == lifecycle.session);
switch (lifecycle.state) {

View File

@@ -94,7 +94,7 @@ GHOST_XrSwapchain::GHOST_XrSwapchain(GHOST_XrSwapchain &&other)
GHOST_XrSwapchain::~GHOST_XrSwapchain()
{
/* m_oxr may be NULL after move. */
/* m_oxr may be nullptr after move. */
if (m_oxr && m_oxr->swapchain != XR_NULL_HANDLE) {
CHECK_XR_ASSERT(xrDestroySwapchain(m_oxr->swapchain));
}