From ce11b0bd936fe8fee9c5ac7025ea5864b99ed7d3 Mon Sep 17 00:00:00 2001 From: LuK1337 Date: Mon, 15 Jul 2019 20:42:21 +0200 Subject: [PATCH] Avoid calling `values()` on a shared object * This fixes a compilation on dmd v2.087.0+ ( I think? ) /usr/include/dmd/druntime/import/object.d(3453,36): Error: cannot implicitly convert expression aa of type shared(ProcessStatus[int]) to const(shared(ProcessStatus)[int]) source/gx/tilix/terminal/monitor.d(46,46): Error: template instance `object.values!(shared(ProcessStatus[int]), shared(ProcessStatus), int)` error instantiating --- source/gx/tilix/terminal/monitor.d | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/gx/tilix/terminal/monitor.d b/source/gx/tilix/terminal/monitor.d index 2b130efe..affc4b86 100644 --- a/source/gx/tilix/terminal/monitor.d +++ b/source/gx/tilix/terminal/monitor.d @@ -43,7 +43,7 @@ private: bool fireEvents() { synchronized { - foreach(process; processes.values()) { + foreach(process; processes) { if (process.eventType != MonitorEventType.NONE) { onChildProcess.emit(process.eventType, process.gpid, process.activePid, process.activeName); process.eventType = MonitorEventType.NONE; @@ -138,7 +138,7 @@ void monitorProcesses(int sleep, Tid tid) { // all open terminals. We need to get these using shell // PID and will store them to raise events for each terminal. auto activeProcesses = getActiveProcessList(); - foreach(process; processes.values()) { + foreach(process; processes) { auto activeProcess = activeProcesses.get(process.gpid, null); // No need to raise event for same process. if (activeProcess !is null && activeProcess.pid != process.activePid) {