Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37914235
en ru br
ALT Linux repositórios
S:5.8.3-alt2

Group :: Ferramentas de Arquivo
RPM: deepin-file-manager

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Patch: deepin-file-manager-5.5.1-gcc11-fix-segfault.patch
Download


diff --git a/src/dde-file-manager-lib/interfaces/dfmeventdispatcher.cpp b/src/dde-file-manager-lib/interfaces/dfmeventdispatcher.cpp
index b6f62e98a..078205148 100644
--- a/src/dde-file-manager-lib/interfaces/dfmeventdispatcher.cpp
+++ b/src/dde-file-manager-lib/interfaces/dfmeventdispatcher.cpp
@@ -126,8 +126,14 @@ void DFMEventFuture::operator =(const DFMEventFuture &other)
 }
 
 namespace DFMEventDispatcherData {
-static QList<DFMAbstractEventHandler *> eventHandler;
-static QList<DFMAbstractEventHandler *> eventFilter;
+QList<DFMAbstractEventHandler *>& eventHandler() {
+    static QList<DFMAbstractEventHandler *> handler;
+    return handler;
+}
+QList<DFMAbstractEventHandler *>& eventFilter() {
+    static QList<DFMAbstractEventHandler *> handler;
+    return handler;
+}
 
 Q_GLOBAL_STATIC(QThreadPool, threadPool)
 }
@@ -154,7 +160,7 @@ QVariant DFMEventDispatcher::processEvent(const QSharedPointer<DFMEvent> &event,
 
     QVariant result;
 
-    for (DFMAbstractEventHandler *handler : DFMEventDispatcherData::eventFilter) {
+    for (DFMAbstractEventHandler *handler : DFMEventDispatcherData::eventFilter()) {
         if (!handler)
             continue;
         if (handler->fmEventFilter(event, target, &result))
@@ -164,7 +170,7 @@ QVariant DFMEventDispatcher::processEvent(const QSharedPointer<DFMEvent> &event,
     if (target) {
         target->fmEvent(event, &result);
     } else {
-        for (DFMAbstractEventHandler *handler : DFMEventDispatcherData::eventHandler) {
+        for (DFMAbstractEventHandler *handler : DFMEventDispatcherData::eventHandler()) {
             if (handler->fmEvent(event, &result))
                 return result;
         }
@@ -197,14 +203,14 @@ QVariant DFMEventDispatcher::processEventWithEventLoop(const QSharedPointer<DFME
 
 void DFMEventDispatcher::installEventFilter(DFMAbstractEventHandler *handler)
 {
-    if (!DFMEventDispatcherData::eventFilter.contains(handler)) {
-        DFMEventDispatcherData::eventFilter.append(handler);
+    if (!DFMEventDispatcherData::eventFilter().contains(handler)) {
+        DFMEventDispatcherData::eventFilter().append(handler);
     }
 }
 
 void DFMEventDispatcher::removeEventFilter(DFMAbstractEventHandler *handler)
 {
-    DFMEventDispatcherData::eventFilter.removeOne(handler);
+    DFMEventDispatcherData::eventFilter().removeOne(handler);
 }
 
 DFMEventDispatcher::State DFMEventDispatcher::state() const
@@ -222,13 +228,13 @@ DFMEventDispatcher::DFMEventDispatcher()
 
 void DFMEventDispatcher::installEventHandler(DFMAbstractEventHandler *handler)
 {
-    if (!DFMEventDispatcherData::eventHandler.contains(handler))
-        DFMEventDispatcherData::eventHandler.append(handler);
+    if (!DFMEventDispatcherData::eventHandler().contains(handler))
+        DFMEventDispatcherData::eventHandler().append(handler);
 }
 
 void DFMEventDispatcher::removeEventHandler(DFMAbstractEventHandler *handler)
 {
-    DFMEventDispatcherData::eventHandler.removeOne(handler);
+    DFMEventDispatcherData::eventHandler().removeOne(handler);
 }
 
 DFM_END_NAMESPACE
 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009