From 011d7ccb91081ff99f184564ea38d1b9e543a99c Mon Sep 17 00:00:00 2001 From: Lee Bousfield Date: Mon, 17 Mar 2025 09:52:40 -0500 Subject: [PATCH] internal: Fix compiler warnings (#9646) --- src/helpers/Monitor.cpp | 2 +- src/macros.hpp | 1 + src/plugins/PluginAPI.hpp | 10 +++++++++- src/protocols/DRMSyncobj.cpp | 7 +++---- src/protocols/DRMSyncobj.hpp | 3 +-- src/protocols/PointerConstraints.hpp | 1 - src/protocols/XDGActivation.hpp | 1 - src/protocols/core/DataDevice.hpp | 2 -- src/xwayland/Dnd.cpp | 8 ++++---- src/xwayland/XWM.cpp | 2 +- 10 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index 9fd4d35d2..672ddc190 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -1240,7 +1240,7 @@ void CMonitor::setSpecialWorkspace(const PHLWORKSPACE& pWorkspace) { } g_pEventManager->postEvent(SHyprIPCEvent{"activespecial", pWorkspace->m_szName + "," + szName}); - g_pEventManager->postEvent(SHyprIPCEvent{"activespecialv2", pWorkspace->m_iID + "," + pWorkspace->m_szName + "," + szName}); + g_pEventManager->postEvent(SHyprIPCEvent{"activespecialv2", std::to_string(pWorkspace->m_iID) + "," + pWorkspace->m_szName + "," + szName}); g_pHyprRenderer->damageMonitor(self.lock()); diff --git a/src/macros.hpp b/src/macros.hpp index d2cad6b7f..9ba0e188f 100644 --- a/src/macros.hpp +++ b/src/macros.hpp @@ -89,6 +89,7 @@ { \ Debug::log(CRIT, "\n\nMEMORY CORRUPTED: Unreachable failed! (Reached an unreachable position, memory corruption!!!)"); \ raise(SIGABRT); \ + std::unreachable(); \ } #else #define UNREACHABLE() std::unreachable(); diff --git a/src/plugins/PluginAPI.hpp b/src/plugins/PluginAPI.hpp index c8c9e5639..fbacbaab1 100644 --- a/src/plugins/PluginAPI.hpp +++ b/src/plugins/PluginAPI.hpp @@ -59,6 +59,12 @@ struct SVersionInfo { #define OPTIONAL #define HANDLE void* +// C ABI is needed to prevent symbol mangling, but we don't actually need C compatibility, +// so we ignore this warning about return types that are potentially incompatible with C. +// Clang supports this pragma too. +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wreturn-type-c-linkage" + class IHyprLayout; class CWindow; class IHyprWindowDecoration; @@ -70,7 +76,7 @@ class CWindow; Methods marked with REQUIRED are required. */ -/* +/* called pre-plugin init. In case of a version mismatch, will eject the .so. @@ -315,3 +321,5 @@ APICALL inline EXPORT const char* __hyprland_api_get_client_hash() { return GIT_COMMIT_HASH; } // NOLINTEND + +#pragma GCC diagnostic pop diff --git a/src/protocols/DRMSyncobj.cpp b/src/protocols/DRMSyncobj.cpp index 21b585137..11ae02c15 100644 --- a/src/protocols/DRMSyncobj.cpp +++ b/src/protocols/DRMSyncobj.cpp @@ -9,8 +9,7 @@ #include using namespace Hyprutils::OS; -CDRMSyncPointState::CDRMSyncPointState(WP resource_, uint64_t point_, bool acquirePoint) : - m_resource(resource_), m_point(point_), m_acquirePoint(acquirePoint) {} +CDRMSyncPointState::CDRMSyncPointState(WP resource_, uint64_t point_) : m_resource(resource_), m_point(point_) {} const uint64_t& CDRMSyncPointState::point() { return m_point; @@ -95,7 +94,7 @@ CDRMSyncobjSurfaceResource::CDRMSyncobjSurfaceResource(UPsetSetReleasePoint([this](CWpLinuxDrmSyncobjSurfaceV1* r, wl_resource* timeline_, uint32_t hi, uint32_t lo) { @@ -105,7 +104,7 @@ CDRMSyncobjSurfaceResource::CDRMSyncobjSurfaceResource(UPevents.precommit.registerListener([this](std::any d) { diff --git a/src/protocols/DRMSyncobj.hpp b/src/protocols/DRMSyncobj.hpp index dc878c110..4d9c2ffca 100644 --- a/src/protocols/DRMSyncobj.hpp +++ b/src/protocols/DRMSyncobj.hpp @@ -17,7 +17,7 @@ struct SSurfaceState; class CDRMSyncPointState { public: CDRMSyncPointState() = default; - CDRMSyncPointState(WP resource_, uint64_t point_, bool acquirePoint); + CDRMSyncPointState(WP resource_, uint64_t point_); ~CDRMSyncPointState() = default; const uint64_t& point(); @@ -34,7 +34,6 @@ class CDRMSyncPointState { WP m_resource = {}; uint64_t m_point = 0; WP m_timeline = {}; - bool m_acquirePoint = false; bool m_acquireCommitted = false; bool m_releaseTaken = false; }; diff --git a/src/protocols/PointerConstraints.hpp b/src/protocols/PointerConstraints.hpp index 1cd2fca95..4d2b4b382 100644 --- a/src/protocols/PointerConstraints.hpp +++ b/src/protocols/PointerConstraints.hpp @@ -33,7 +33,6 @@ class CPointerConstraint { private: SP resourceL; SP resourceC; - wl_client* pClient = nullptr; WP pHLSurface; diff --git a/src/protocols/XDGActivation.hpp b/src/protocols/XDGActivation.hpp index 1db16b3c9..acc6fdb3a 100644 --- a/src/protocols/XDGActivation.hpp +++ b/src/protocols/XDGActivation.hpp @@ -18,7 +18,6 @@ class CXDGActivationToken { uint32_t serial = 0; std::string appID = ""; bool committed = false; - bool used = false; std::string token = ""; diff --git a/src/protocols/core/DataDevice.hpp b/src/protocols/core/DataDevice.hpp index be0b68b3c..fa5de091e 100644 --- a/src/protocols/core/DataDevice.hpp +++ b/src/protocols/core/DataDevice.hpp @@ -50,7 +50,6 @@ class CWLDataOfferResource : public IDataOffer { private: SP resource; - wl_client* pClient = nullptr; friend class CWLDataDeviceResource; }; @@ -89,7 +88,6 @@ class CWLDataSourceResource : public IDataSource { private: SP resource; - wl_client* pClient = nullptr; friend class CWLDataDeviceProtocol; }; diff --git a/src/xwayland/Dnd.cpp b/src/xwayland/Dnd.cpp index d5e555a42..2cb8be57c 100644 --- a/src/xwayland/Dnd.cpp +++ b/src/xwayland/Dnd.cpp @@ -129,7 +129,7 @@ void CX11DataDevice::sendEnter(uint32_t serial, SP surf, con xcb_window_t targetWindow = getProxyWindow(XSURF->xID); - xcb_client_message_data_t data = {0}; + xcb_client_message_data_t data = {{0}}; data.data32[0] = g_pXWayland->pWM->dndSelection.window; data.data32[1] = XDND_VERSION << 24; data.data32[1] |= 1; @@ -164,7 +164,7 @@ void CX11DataDevice::sendLeave() { xcb_window_t targetWindow = getProxyWindow(lastSurface->xID); - xcb_client_message_data_t data = {0}; + xcb_client_message_data_t data = {{0}}; data.data32[0] = g_pXWayland->pWM->dndSelection.window; sendDndEvent(targetWindow, HYPRATOMS["XdndLeave"], data); @@ -183,7 +183,7 @@ void CX11DataDevice::sendMotion(uint32_t timeMs, const Vector2D& local) { const auto XCOORDS = g_pXWaylandManager->waylandToXWaylandCoords(lastSurfaceCoords + local); const uint32_t coords = ((uint32_t)XCOORDS.x << 16) | (uint32_t)XCOORDS.y; - xcb_client_message_data_t data = {0}; + xcb_client_message_data_t data = {{0}}; data.data32[0] = g_pXWayland->pWM->dndSelection.window; data.data32[2] = coords; data.data32[3] = timeMs; @@ -204,7 +204,7 @@ void CX11DataDevice::sendDrop() { xcb_window_t targetWindow = getProxyWindow(lastSurface->xID); - xcb_client_message_data_t data = {0}; + xcb_client_message_data_t data = {{0}}; data.data32[0] = g_pXWayland->pWM->dndSelection.window; data.data32[2] = lastTime; diff --git a/src/xwayland/XWM.cpp b/src/xwayland/XWM.cpp index 022328730..efb080d64 100644 --- a/src/xwayland/XWM.cpp +++ b/src/xwayland/XWM.cpp @@ -494,7 +494,7 @@ void CXWM::focusWindow(SP surf) { if (surf->overrideRedirect) return; - xcb_client_message_data_t msg = {0}; + xcb_client_message_data_t msg = {{0}}; msg.data32[0] = HYPRATOMS["WM_TAKE_FOCUS"]; msg.data32[1] = XCB_TIME_CURRENT_TIME;