[PATCH] Initialize the GUI lock in a way that doesn't break the API
David Shea
dshea at redhat.com
Fri Oct 10 16:33:50 UTC 2014
i.e., in a way that doesn't break initial-setup.
---
pyanaconda/anaconda.py | 4 ++--
pyanaconda/ui/__init__.py | 4 ++++
pyanaconda/ui/gui/__init__.py | 4 ++--
pyanaconda/ui/tui/__init__.py | 4 ++--
4 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/pyanaconda/anaconda.py b/pyanaconda/anaconda.py
index c207640..824d36b 100644
--- a/pyanaconda/anaconda.py
+++ b/pyanaconda/anaconda.py
@@ -212,7 +212,7 @@ class Anaconda(object):
if self.displayMode == 'g':
from pyanaconda.ui.gui import GraphicalUserInterface
self._intf = GraphicalUserInterface(self.storage, self.payload,
- self.instClass, self.gui_initialized)
+ self.instClass, gui_lock=self.gui_initialized)
# needs to be refreshed now we know if gui or tui will take place
addon_paths = addons.collect_addon_paths(constants.ADDON_PATHS,
@@ -220,7 +220,7 @@ class Anaconda(object):
elif self.displayMode in ['t', 'c']: # text and command line are the same
from pyanaconda.ui.tui import TextUserInterface
self._intf = TextUserInterface(self.storage, self.payload,
- self.instClass, self.gui_initialized)
+ self.instClass, gui_lock=self.gui_initialized)
# needs to be refreshed now we know if gui or tui will take place
addon_paths = addons.collect_addon_paths(constants.ADDON_PATHS,
diff --git a/pyanaconda/ui/__init__.py b/pyanaconda/ui/__init__.py
index 28b24bb..7547563 100644
--- a/pyanaconda/ui/__init__.py
+++ b/pyanaconda/ui/__init__.py
@@ -23,6 +23,7 @@ __all__ = ["UserInterface"]
import copy
import os
+import threading
from pyanaconda.ui.common import collect
class PathDict(dict):
@@ -69,6 +70,9 @@ class UserInterface(object):
self.storage = storage
self.payload = payload
self.instclass = instclass
+
+ if not gui_lock:
+ gui_lock = threading.Lock()
self.gui_lock = gui_lock
# Register this interface with the top-level ErrorHandler.
diff --git a/pyanaconda/ui/gui/__init__.py b/pyanaconda/ui/gui/__init__.py
index b86af55..d882523 100644
--- a/pyanaconda/ui/gui/__init__.py
+++ b/pyanaconda/ui/gui/__init__.py
@@ -435,9 +435,9 @@ class GraphicalUserInterface(UserInterface):
"""This is the standard GTK+ interface we try to steer everything to using.
It is suitable for use both directly and via VNC.
"""
- def __init__(self, storage, payload, instclass, gui_lock,
+ def __init__(self, storage, payload, instclass,
distributionText = product.distributionText, isFinal = product.isFinal,
- quitDialog = QuitDialog):
+ quitDialog = QuitDialog, gui_lock = None):
UserInterface.__init__(self, storage, payload, instclass, gui_lock)
diff --git a/pyanaconda/ui/tui/__init__.py b/pyanaconda/ui/tui/__init__.py
index 731437a..8c17602 100644
--- a/pyanaconda/ui/tui/__init__.py
+++ b/pyanaconda/ui/tui/__init__.py
@@ -58,9 +58,9 @@ class TextUserInterface(ui.UserInterface):
ENVIRONMENT = "anaconda"
- def __init__(self, storage, payload, instclass, gui_lock,
+ def __init__(self, storage, payload, instclass,
productTitle = u"Anaconda", isFinal = True,
- quitMessage = None):
+ quitMessage = None, gui_lock = None):
"""
For detailed description of the arguments see
the parent class.
--
1.9.3
More information about the anaconda-patches
mailing list