diff --git a/src/app/ui/color_popup.cpp b/src/app/ui/color_popup.cpp index 292f3e602..0a6d86c0f 100644 --- a/src/app/ui/color_popup.cpp +++ b/src/app/ui/color_popup.cpp @@ -309,6 +309,23 @@ app::Color ColorPopup::getColor() const return m_color; } +bool ColorPopup::onProcessMessage(ui::Message* msg) +{ + switch (msg->type()) { + case kSetCursorMessage: { + if (m_canPin) { + gfx::Point mousePos = static_cast(msg)->position(); + if (hitTest(mousePos) == HitTestCaption) { + set_mouse_cursor(kMoveCursor); + return true; + } + } + break; + } + } + return PopupWindowPin::onProcessMessage(msg); +} + void ColorPopup::onWindowResize() { PopupWindowPin::onWindowResize(); diff --git a/src/app/ui/color_popup.h b/src/app/ui/color_popup.h index c6aee0de6..9f6e43873 100644 --- a/src/app/ui/color_popup.h +++ b/src/app/ui/color_popup.h @@ -43,6 +43,7 @@ namespace app { obs::signal ColorChange; protected: + bool onProcessMessage(ui::Message* msg) override; void onWindowResize() override; void onMakeFloating() override; void onMakeFixed() override;