mirror of
https://github.com/SFML/SFML.git
synced 2024-11-28 14:21:04 +08:00
Cppcheck fixes part 1
This commit is contained in:
parent
ecb945b341
commit
002cd1d461
@ -21,7 +21,7 @@
|
|||||||
/// \return True if operation was successful, false otherwise
|
/// \return True if operation was successful, false otherwise
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
[[nodiscard]] bool initialize(sf::Window& window)
|
[[nodiscard]] bool initialize(const sf::Window& window)
|
||||||
{
|
{
|
||||||
// Activate the window
|
// Activate the window
|
||||||
if (!window.setActive())
|
if (!window.setActive())
|
||||||
@ -73,7 +73,7 @@
|
|||||||
/// \return True if operation was successful, false otherwise
|
/// \return True if operation was successful, false otherwise
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
[[nodiscard]] bool draw(sf::Window& window, float elapsedTime)
|
[[nodiscard]] bool draw(const sf::Window& window, float elapsedTime)
|
||||||
{
|
{
|
||||||
// Activate the window
|
// Activate the window
|
||||||
if (!window.setActive())
|
if (!window.setActive())
|
||||||
|
@ -732,8 +732,6 @@ protected:
|
|||||||
float a2{};
|
float a2{};
|
||||||
float b1{};
|
float b1{};
|
||||||
float b2{};
|
float b2{};
|
||||||
float c0{};
|
|
||||||
float d0{};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
using Processing::Processing;
|
using Processing::Processing;
|
||||||
|
@ -100,7 +100,7 @@ public:
|
|||||||
/// \see `remove`, `clear`
|
/// \see `remove`, `clear`
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void add(Socket& socket);
|
void add(const Socket& socket);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Remove a socket from the selector
|
/// \brief Remove a socket from the selector
|
||||||
@ -113,7 +113,7 @@ public:
|
|||||||
/// \see `add`, `clear`
|
/// \see `add`, `clear`
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void remove(Socket& socket);
|
void remove(const Socket& socket);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Remove all the sockets stored in the selector
|
/// \brief Remove all the sockets stored in the selector
|
||||||
@ -162,7 +162,7 @@ public:
|
|||||||
/// \see `isReady`
|
/// \see `isReady`
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
[[nodiscard]] bool isReady(Socket& socket) const;
|
[[nodiscard]] bool isReady(const Socket& socket) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct SocketSelectorImpl;
|
struct SocketSelectorImpl;
|
||||||
|
@ -27,6 +27,8 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
#include <SFML/System/Utf.hpp> // NOLINT(misc-header-include-cycle)
|
#include <SFML/System/Utf.hpp> // NOLINT(misc-header-include-cycle)
|
||||||
|
|
||||||
|
#include <cassert>
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
// References:
|
// References:
|
||||||
@ -127,10 +129,10 @@ Out Utf<8>::encode(std::uint32_t input, Out output, std::uint8_t replacement)
|
|||||||
std::size_t bytestoWrite = 1;
|
std::size_t bytestoWrite = 1;
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
if (input < 0x80) bytestoWrite = 1;
|
if (input < 0x80) { bytestoWrite = 1; }
|
||||||
else if (input < 0x800) bytestoWrite = 2;
|
else if (input < 0x800) { bytestoWrite = 2; }
|
||||||
else if (input < 0x10000) bytestoWrite = 3;
|
else if (input < 0x10000) { bytestoWrite = 3; }
|
||||||
else if (input <= 0x0010FFFF) bytestoWrite = 4;
|
else { assert(input <= 0x0010FFFF); bytestoWrite = 4; }
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
// Extract the bytes to write
|
// Extract the bytes to write
|
||||||
|
@ -77,12 +77,11 @@ SoundBuffer::SoundBuffer(const std::int16_t* samples,
|
|||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
SoundBuffer::SoundBuffer(const SoundBuffer& copy)
|
SoundBuffer::SoundBuffer(const SoundBuffer& copy) :
|
||||||
|
// don't copy the attached sounds
|
||||||
|
m_samples(copy.m_samples),
|
||||||
|
m_duration(copy.m_duration)
|
||||||
{
|
{
|
||||||
// don't copy the attached sounds
|
|
||||||
m_samples = copy.m_samples;
|
|
||||||
m_duration = copy.m_duration;
|
|
||||||
|
|
||||||
// Update the internal buffer with the new samples
|
// Update the internal buffer with the new samples
|
||||||
if (!update(copy.getChannelCount(), copy.getSampleRate(), copy.getChannelMap()))
|
if (!update(copy.getChannelCount(), copy.getSampleRate(), copy.getChannelMap()))
|
||||||
err() << "Failed to update copy-constructed sound buffer" << std::endl;
|
err() << "Failed to update copy-constructed sound buffer" << std::endl;
|
||||||
|
@ -421,8 +421,9 @@ void SoundRecorder::setChannelCount(unsigned int channelCount)
|
|||||||
{
|
{
|
||||||
m_impl->channelMap = {SoundChannel::Mono};
|
m_impl->channelMap = {SoundChannel::Mono};
|
||||||
}
|
}
|
||||||
else if (channelCount == 2)
|
else
|
||||||
{
|
{
|
||||||
|
assert(channelCount == 2);
|
||||||
m_impl->channelMap = {SoundChannel::FrontLeft, SoundChannel::FrontRight};
|
m_impl->channelMap = {SoundChannel::FrontLeft, SoundChannel::FrontRight};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -423,7 +423,7 @@ void Image::createMaskFromColor(Color color, std::uint8_t alpha)
|
|||||||
{
|
{
|
||||||
// Replace the alpha of the pixels that match the transparent color
|
// Replace the alpha of the pixels that match the transparent color
|
||||||
std::uint8_t* ptr = m_pixels.data();
|
std::uint8_t* ptr = m_pixels.data();
|
||||||
std::uint8_t* end = ptr + m_pixels.size();
|
const std::uint8_t* end = ptr + m_pixels.size();
|
||||||
while (ptr < end)
|
while (ptr < end)
|
||||||
{
|
{
|
||||||
if ((ptr[0] == color.r) && (ptr[1] == color.g) && (ptr[2] == color.b) && (ptr[3] == color.a))
|
if ((ptr[0] == color.r) && (ptr[1] == color.g) && (ptr[2] == color.b) && (ptr[3] == color.a))
|
||||||
|
@ -305,7 +305,7 @@ void onNativeWindowCreated(ANativeActivity* activity, ANativeWindow* window)
|
|||||||
|
|
||||||
// Wait for the event to be taken into account by SFML
|
// Wait for the event to be taken into account by SFML
|
||||||
states.updated = false;
|
states.updated = false;
|
||||||
while (!(states.updated | states.terminated))
|
while (!(states.updated || states.terminated))
|
||||||
{
|
{
|
||||||
states.mutex.unlock();
|
states.mutex.unlock();
|
||||||
sf::sleep(sf::milliseconds(10));
|
sf::sleep(sf::milliseconds(10));
|
||||||
@ -327,7 +327,7 @@ void onNativeWindowDestroyed(ANativeActivity* activity, ANativeWindow* /* window
|
|||||||
|
|
||||||
// Wait for the event to be taken into account by SFML
|
// Wait for the event to be taken into account by SFML
|
||||||
states.updated = false;
|
states.updated = false;
|
||||||
while (!(states.updated | states.terminated))
|
while (!(states.updated || states.terminated))
|
||||||
{
|
{
|
||||||
states.mutex.unlock();
|
states.mutex.unlock();
|
||||||
sf::sleep(sf::milliseconds(10));
|
sf::sleep(sf::milliseconds(10));
|
||||||
@ -512,7 +512,7 @@ JNIEXPORT void ANativeActivity_onCreate(ANativeActivity* activity, void* savedSt
|
|||||||
// Wait for the main thread to be initialized
|
// Wait for the main thread to be initialized
|
||||||
states->mutex.lock();
|
states->mutex.lock();
|
||||||
|
|
||||||
while (!(states->initialized | states->terminated))
|
while (!(states->initialized || states->terminated))
|
||||||
{
|
{
|
||||||
states->mutex.unlock();
|
states->mutex.unlock();
|
||||||
sf::sleep(sf::milliseconds(20));
|
sf::sleep(sf::milliseconds(20));
|
||||||
|
@ -607,7 +607,6 @@ void Ftp::DataChannel::send(std::istream& stream)
|
|||||||
{
|
{
|
||||||
// Send data
|
// Send data
|
||||||
char buffer[1024];
|
char buffer[1024];
|
||||||
std::size_t count = 0;
|
|
||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
@ -620,7 +619,7 @@ void Ftp::DataChannel::send(std::istream& stream)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
count = static_cast<std::size_t>(stream.gcount());
|
const auto count = static_cast<std::size_t>(stream.gcount());
|
||||||
|
|
||||||
if (count > 0)
|
if (count > 0)
|
||||||
{
|
{
|
||||||
|
@ -88,7 +88,7 @@ SocketSelector& SocketSelector::operator=(SocketSelector&&) noexcept = default;
|
|||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void SocketSelector::add(Socket& socket)
|
void SocketSelector::add(const Socket& socket)
|
||||||
{
|
{
|
||||||
const SocketHandle handle = socket.getNativeHandle();
|
const SocketHandle handle = socket.getNativeHandle();
|
||||||
if (handle != priv::SocketImpl::invalidSocket())
|
if (handle != priv::SocketImpl::invalidSocket())
|
||||||
@ -130,7 +130,7 @@ void SocketSelector::add(Socket& socket)
|
|||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void SocketSelector::remove(Socket& socket)
|
void SocketSelector::remove(const Socket& socket)
|
||||||
{
|
{
|
||||||
const SocketHandle handle = socket.getNativeHandle();
|
const SocketHandle handle = socket.getNativeHandle();
|
||||||
if (handle != priv::SocketImpl::invalidSocket())
|
if (handle != priv::SocketImpl::invalidSocket())
|
||||||
@ -187,7 +187,7 @@ bool SocketSelector::wait(Time timeout)
|
|||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
bool SocketSelector::isReady(Socket& socket) const
|
bool SocketSelector::isReady(const Socket& socket) const
|
||||||
{
|
{
|
||||||
const SocketHandle handle = socket.getNativeHandle();
|
const SocketHandle handle = socket.getNativeHandle();
|
||||||
if (handle != priv::SocketImpl::invalidSocket())
|
if (handle != priv::SocketImpl::invalidSocket())
|
||||||
|
@ -445,13 +445,13 @@ void checkInit()
|
|||||||
deviceString = nullptr;
|
deviceString = nullptr;
|
||||||
|
|
||||||
// Use environment variable "SFML_DRM_MODE" (or nullptr if not set)
|
// Use environment variable "SFML_DRM_MODE" (or nullptr if not set)
|
||||||
char* modeString = std::getenv("SFML_DRM_MODE");
|
const char* modeString = std::getenv("SFML_DRM_MODE");
|
||||||
|
|
||||||
// Use environment variable "SFML_DRM_REFRESH" (or 0 if not set)
|
// Use environment variable "SFML_DRM_REFRESH" (or 0 if not set)
|
||||||
// Use in combination with mode to request specific refresh rate for the mode
|
// Use in combination with mode to request specific refresh rate for the mode
|
||||||
// if multiple refresh rates for same mode might be supported
|
// if multiple refresh rates for same mode might be supported
|
||||||
unsigned int refreshRate = 0;
|
unsigned int refreshRate = 0;
|
||||||
char* refreshString = std::getenv("SFML_DRM_REFRESH");
|
const char* refreshString = std::getenv("SFML_DRM_REFRESH");
|
||||||
|
|
||||||
if (refreshString)
|
if (refreshString)
|
||||||
refreshRate = static_cast<unsigned int>(atoi(refreshString));
|
refreshRate = static_cast<unsigned int>(atoi(refreshString));
|
||||||
@ -513,15 +513,13 @@ EGLDisplay getInitializedDisplay()
|
|||||||
namespace sf::priv
|
namespace sf::priv
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
DRMContext::DRMContext(DRMContext* shared)
|
DRMContext::DRMContext(DRMContext* shared) :
|
||||||
|
// Get the initialized EGL display
|
||||||
|
m_display(getInitializedDisplay()),
|
||||||
|
// Get the best EGL config matching the default video settings
|
||||||
|
m_config(getBestConfig(m_display, VideoMode::getDesktopMode().bitsPerPixel, ContextSettings{}))
|
||||||
{
|
{
|
||||||
contextCount++;
|
contextCount++;
|
||||||
|
|
||||||
// Get the initialized EGL display
|
|
||||||
m_display = getInitializedDisplay();
|
|
||||||
|
|
||||||
// Get the best EGL config matching the default video settings
|
|
||||||
m_config = getBestConfig(m_display, VideoMode::getDesktopMode().bitsPerPixel, ContextSettings{});
|
|
||||||
updateSettings();
|
updateSettings();
|
||||||
|
|
||||||
// Create EGL context
|
// Create EGL context
|
||||||
@ -535,15 +533,13 @@ DRMContext::DRMContext(DRMContext* shared)
|
|||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
DRMContext::DRMContext(DRMContext* shared, const ContextSettings& settings, const WindowImpl& owner, unsigned int bitsPerPixel)
|
DRMContext::DRMContext(DRMContext* shared, const ContextSettings& settings, const WindowImpl& owner, unsigned int bitsPerPixel) :
|
||||||
|
// Get the initialized EGL display
|
||||||
|
m_display(getInitializedDisplay()),
|
||||||
|
// Get the best EGL config matching the requested video settings
|
||||||
|
m_config(getBestConfig(m_display, bitsPerPixel, settings))
|
||||||
{
|
{
|
||||||
contextCount++;
|
contextCount++;
|
||||||
|
|
||||||
// Get the initialized EGL display
|
|
||||||
m_display = getInitializedDisplay();
|
|
||||||
|
|
||||||
// Get the best EGL config matching the requested video settings
|
|
||||||
m_config = getBestConfig(m_display, bitsPerPixel, settings);
|
|
||||||
updateSettings();
|
updateSettings();
|
||||||
|
|
||||||
// Create EGL context
|
// Create EGL context
|
||||||
@ -555,15 +551,13 @@ DRMContext::DRMContext(DRMContext* shared, const ContextSettings& settings, cons
|
|||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
DRMContext::DRMContext(DRMContext* shared, const ContextSettings& settings, Vector2u size)
|
DRMContext::DRMContext(DRMContext* shared, const ContextSettings& settings, Vector2u size) :
|
||||||
|
// Get the initialized EGL display
|
||||||
|
m_display(getInitializedDisplay()),
|
||||||
|
// Get the best EGL config matching the requested video settings
|
||||||
|
m_config(getBestConfig(m_display, VideoMode::getDesktopMode().bitsPerPixel, settings))
|
||||||
{
|
{
|
||||||
contextCount++;
|
contextCount++;
|
||||||
|
|
||||||
// Get the initialized EGL display
|
|
||||||
m_display = getInitializedDisplay();
|
|
||||||
|
|
||||||
// Get the best EGL config matching the requested video settings
|
|
||||||
m_config = getBestConfig(m_display, VideoMode::getDesktopMode().bitsPerPixel, settings);
|
|
||||||
updateSettings();
|
updateSettings();
|
||||||
|
|
||||||
// Create EGL context
|
// Create EGL context
|
||||||
|
@ -67,7 +67,7 @@ EGLDisplay getInitializedDisplay()
|
|||||||
|
|
||||||
return states.display;
|
return states.display;
|
||||||
|
|
||||||
#endif
|
#else
|
||||||
|
|
||||||
static EGLDisplay display = EGL_NO_DISPLAY;
|
static EGLDisplay display = EGL_NO_DISPLAY;
|
||||||
|
|
||||||
@ -78,6 +78,8 @@ EGLDisplay getInitializedDisplay()
|
|||||||
}
|
}
|
||||||
|
|
||||||
return display;
|
return display;
|
||||||
|
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -74,21 +74,18 @@ void ClipboardImpl::processEvents()
|
|||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
ClipboardImpl::ClipboardImpl()
|
ClipboardImpl::ClipboardImpl() :
|
||||||
|
// Open a connection with the X server
|
||||||
|
m_display(openDisplay()),
|
||||||
|
// Create a hidden window that will broker our clipboard interactions with X
|
||||||
|
m_window(XCreateSimpleWindow(m_display.get(), DefaultRootWindow(m_display.get()), 0, 0, 1, 1, 0, 0, 0)),
|
||||||
|
// Get the atoms we need to make use of the clipboard
|
||||||
|
m_clipboard(getAtom("CLIPBOARD", false)),
|
||||||
|
m_targets(getAtom("TARGETS", false)),
|
||||||
|
m_text(getAtom("TEXT", false)),
|
||||||
|
m_utf8String(getAtom("UTF8_STRING", true)),
|
||||||
|
m_targetProperty(getAtom("SFML_CLIPBOARD_TARGET_PROPERTY", false))
|
||||||
{
|
{
|
||||||
// Open a connection with the X server
|
|
||||||
m_display = openDisplay();
|
|
||||||
|
|
||||||
// Get the atoms we need to make use of the clipboard
|
|
||||||
m_clipboard = getAtom("CLIPBOARD", false);
|
|
||||||
m_targets = getAtom("TARGETS", false);
|
|
||||||
m_text = getAtom("TEXT", false);
|
|
||||||
m_utf8String = getAtom("UTF8_STRING", true);
|
|
||||||
m_targetProperty = getAtom("SFML_CLIPBOARD_TARGET_PROPERTY", false);
|
|
||||||
|
|
||||||
// Create a hidden window that will broker our clipboard interactions with X
|
|
||||||
m_window = XCreateSimpleWindow(m_display.get(), DefaultRootWindow(m_display.get()), 0, 0, 1, 1, 0, 0, 0);
|
|
||||||
|
|
||||||
// Register the events we are interested in
|
// Register the events we are interested in
|
||||||
XSelectInput(m_display.get(), m_window, SelectionNotify | SelectionClear | SelectionRequest);
|
XSelectInput(m_display.get(), m_window, SelectionNotify | SelectionClear | SelectionRequest);
|
||||||
}
|
}
|
||||||
|
@ -135,8 +135,8 @@ private:
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
// Member data
|
// Member data
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
::Window m_window{}; ///< X identifier defining our window
|
|
||||||
std::shared_ptr<::Display> m_display; ///< Pointer to the display
|
std::shared_ptr<::Display> m_display; ///< Pointer to the display
|
||||||
|
::Window m_window; ///< X identifier defining our window
|
||||||
Atom m_clipboard; ///< X Atom identifying the CLIPBOARD selection
|
Atom m_clipboard; ///< X Atom identifying the CLIPBOARD selection
|
||||||
Atom m_targets; ///< X Atom identifying TARGETS
|
Atom m_targets; ///< X Atom identifying TARGETS
|
||||||
Atom m_text; ///< X Atom identifying TEXT
|
Atom m_text; ///< X Atom identifying TEXT
|
||||||
|
@ -343,7 +343,7 @@ bool getEWMHFrameExtents(::Display* disp, ::Window win, long& xFrameExtent, long
|
|||||||
|
|
||||||
#pragma GCC diagnostic push
|
#pragma GCC diagnostic push
|
||||||
#pragma GCC diagnostic ignored "-Wcast-align"
|
#pragma GCC diagnostic ignored "-Wcast-align"
|
||||||
long* extents = reinterpret_cast<long*>(data);
|
const long* extents = reinterpret_cast<long*>(data);
|
||||||
#pragma GCC diagnostic pop
|
#pragma GCC diagnostic pop
|
||||||
|
|
||||||
xFrameExtent = extents[0]; // Left.
|
xFrameExtent = extents[0]; // Left.
|
||||||
@ -1178,7 +1178,7 @@ void WindowImplX11::requestFocus()
|
|||||||
|
|
||||||
{
|
{
|
||||||
const std::lock_guard lock(allWindowsMutex);
|
const std::lock_guard lock(allWindowsMutex);
|
||||||
for (sf::priv::WindowImplX11* windowPtr : allWindows)
|
for (const sf::priv::WindowImplX11* windowPtr : allWindows)
|
||||||
{
|
{
|
||||||
if (windowPtr->hasFocus())
|
if (windowPtr->hasFocus())
|
||||||
{
|
{
|
||||||
@ -1693,6 +1693,7 @@ bool WindowImplX11::processEvent(XEvent& windowEvent)
|
|||||||
XSetICFocus(m_inputContext);
|
XSetICFocus(m_inputContext);
|
||||||
|
|
||||||
// Grab cursor
|
// Grab cursor
|
||||||
|
// TODO: ???
|
||||||
if (m_cursorGrabbed)
|
if (m_cursorGrabbed)
|
||||||
{
|
{
|
||||||
// Try multiple times to grab the cursor
|
// Try multiple times to grab the cursor
|
||||||
@ -1718,6 +1719,7 @@ bool WindowImplX11::processEvent(XEvent& windowEvent)
|
|||||||
sf::sleep(sf::milliseconds(50));
|
sf::sleep(sf::milliseconds(50));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: ???
|
||||||
if (!m_cursorGrabbed)
|
if (!m_cursorGrabbed)
|
||||||
err() << "Failed to grab mouse cursor" << std::endl;
|
err() << "Failed to grab mouse cursor" << std::endl;
|
||||||
}
|
}
|
||||||
|
@ -1127,7 +1127,7 @@ void WindowImplWin32::processEvent(UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
if ((wParam == DBT_DEVICEARRIVAL) || (wParam == DBT_DEVICEREMOVECOMPLETE))
|
if ((wParam == DBT_DEVICEARRIVAL) || (wParam == DBT_DEVICEREMOVECOMPLETE))
|
||||||
{
|
{
|
||||||
// Some sort of device change has happened, update joystick connections if it is a device interface
|
// Some sort of device change has happened, update joystick connections if it is a device interface
|
||||||
auto* deviceBroadcastHeader = reinterpret_cast<DEV_BROADCAST_HDR*>(lParam);
|
const auto* deviceBroadcastHeader = reinterpret_cast<DEV_BROADCAST_HDR*>(lParam);
|
||||||
|
|
||||||
if (deviceBroadcastHeader && (deviceBroadcastHeader->dbch_devicetype == DBT_DEVTYP_DEVICEINTERFACE))
|
if (deviceBroadcastHeader && (deviceBroadcastHeader->dbch_devicetype == DBT_DEVTYP_DEVICEINTERFACE))
|
||||||
JoystickImpl::updateConnections();
|
JoystickImpl::updateConnections();
|
||||||
|
@ -17,7 +17,7 @@ TEST_CASE("[Network] sf::SocketSelector")
|
|||||||
STATIC_CHECK(std::is_nothrow_move_assignable_v<sf::SocketSelector>);
|
STATIC_CHECK(std::is_nothrow_move_assignable_v<sf::SocketSelector>);
|
||||||
}
|
}
|
||||||
|
|
||||||
sf::UdpSocket socket;
|
const sf::UdpSocket socket;
|
||||||
|
|
||||||
SECTION("Construction")
|
SECTION("Construction")
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user