mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-07 20:25:58 +01:00
Fix minor issues with mirrors
This commit is contained in:
parent
e887149f25
commit
0ffaa8d667
2 changed files with 11 additions and 13 deletions
|
@ -66,13 +66,6 @@ void Events::listener_newOutput(wl_listener* listener, void* data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PNEWMONITORWRAP && PNEWMONITORWRAP->get()->m_bEnabled) {
|
|
||||||
Debug::log(LOG, "Connected an enabled monitor???");
|
|
||||||
g_pConfigManager->m_bWantsMonitorReload = true;
|
|
||||||
g_pCompositor->scheduleFrameForMonitor(PNEWMONITORWRAP->get());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!PNEWMONITORWRAP) {
|
if (!PNEWMONITORWRAP) {
|
||||||
Debug::log(LOG, "Adding completely new monitor.");
|
Debug::log(LOG, "Adding completely new monitor.");
|
||||||
PNEWMONITORWRAP = &g_pCompositor->m_vRealMonitors.emplace_back(std::make_shared<CMonitor>());
|
PNEWMONITORWRAP = &g_pCompositor->m_vRealMonitors.emplace_back(std::make_shared<CMonitor>());
|
||||||
|
@ -326,8 +319,8 @@ void Events::listener_monitorDestroy(void* owner, void* data) {
|
||||||
|
|
||||||
CMonitor* pMonitor = nullptr;
|
CMonitor* pMonitor = nullptr;
|
||||||
|
|
||||||
for (auto& m : g_pCompositor->m_vMonitors) {
|
for (auto& m : g_pCompositor->m_vRealMonitors) {
|
||||||
if (m->szName == OUTPUT->name) {
|
if (m->output == OUTPUT) {
|
||||||
pMonitor = m.get();
|
pMonitor = m.get();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,8 +3,16 @@
|
||||||
#include "../Compositor.hpp"
|
#include "../Compositor.hpp"
|
||||||
|
|
||||||
void CMonitor::onConnect(bool noRule) {
|
void CMonitor::onConnect(bool noRule) {
|
||||||
if (m_bEnabled)
|
hyprListener_monitorDestroy.removeCallback();
|
||||||
|
hyprListener_monitorFrame.removeCallback();
|
||||||
|
hyprListener_monitorFrame.initCallback(&output->events.frame, &Events::listener_monitorFrame, this);
|
||||||
|
hyprListener_monitorDestroy.initCallback(&output->events.destroy, &Events::listener_monitorDestroy, this);
|
||||||
|
|
||||||
|
if (m_bEnabled) {
|
||||||
|
wlr_output_enable(output, 1);
|
||||||
|
wlr_output_commit(output);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
szName = output->name;
|
szName = output->name;
|
||||||
|
|
||||||
|
@ -14,9 +22,6 @@ void CMonitor::onConnect(bool noRule) {
|
||||||
// get monitor rule that matches
|
// get monitor rule that matches
|
||||||
SMonitorRule monitorRule = g_pConfigManager->getMonitorRuleFor(output->name, output->description ? output->description : "");
|
SMonitorRule monitorRule = g_pConfigManager->getMonitorRuleFor(output->name, output->description ? output->description : "");
|
||||||
|
|
||||||
hyprListener_monitorFrame.initCallback(&output->events.frame, &Events::listener_monitorFrame, this);
|
|
||||||
hyprListener_monitorDestroy.initCallback(&output->events.destroy, &Events::listener_monitorDestroy, this);
|
|
||||||
|
|
||||||
// if it's disabled, disable and ignore
|
// if it's disabled, disable and ignore
|
||||||
if (monitorRule.disabled) {
|
if (monitorRule.disabled) {
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue