summaryrefslogtreecommitdiff
path: root/src/protocols/FractionalScale.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocols/FractionalScale.cpp')
-rw-r--r--src/protocols/FractionalScale.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/protocols/FractionalScale.cpp b/src/protocols/FractionalScale.cpp
index 993d963b..86662d90 100644
--- a/src/protocols/FractionalScale.cpp
+++ b/src/protocols/FractionalScale.cpp
@@ -1,5 +1,7 @@
#include "FractionalScale.hpp"
+#define LOGM PROTO::fractional->protoLog
+
static void onWlrSurfaceDestroy(void* owner, void* data) {
const auto SURF = (wlr_surface*)owner;
@@ -28,6 +30,12 @@ void CFractionalScaleProtocol::onManagerResourceDestroy(wl_resource* res) {
}
void CFractionalScaleProtocol::onGetFractionalScale(CWpFractionalScaleManagerV1* pMgr, uint32_t id, wlr_surface* surface) {
+ if (m_mAddons.contains(surface)) {
+ LOGM(ERR, "Surface {:x} already has a fractionalScale addon", (uintptr_t)surface);
+ wl_resource_post_error(pMgr->resource(), WP_FRACTIONAL_SCALE_MANAGER_V1_ERROR_FRACTIONAL_SCALE_EXISTS, "Fractional scale already exists");
+ return;
+ }
+
const auto PADDON = m_mAddons
.emplace(surface,
std::make_unique<CFractionalScaleAddon>(