summaryrefslogtreecommitdiffstats
path: root/gui.py
diff options
context:
space:
mode:
authorMatt Wilson <msw@redhat.com>2001-03-29 20:45:23 +0000
committerMatt Wilson <msw@redhat.com>2001-03-29 20:45:23 +0000
commit62c7f457446a7f5706e6b02e6ac8764a486ff22e (patch)
treedc7058e9e00c22ceaf8eae4cf897971ba8621941 /gui.py
parent738f8003de71c7f96ed61c4b00d9db02e719ee98 (diff)
downloadanaconda-62c7f457446a7f5706e6b02e6ac8764a486ff22e.tar.gz
anaconda-62c7f457446a7f5706e6b02e6ac8764a486ff22e.tar.xz
anaconda-62c7f457446a7f5706e6b02e6ac8764a486ff22e.zip
1) defer actually resetting the rc style on the window until the next
screen (with the *new* language) is being displayed. This fixes a segv in gtk+ when trying to go from a mb string in another language (like Japanese) to iso-8859-1 (which has no way to represent those mb strings). (#27459) 2) queue a resize on the buttons when changing the text. Next time reflow happens we'll get the buttons resized to the proper size for the language at hand (go from no_NO -> en_US before this change and see the HUGE "Release Notes" button in English with all the empty space)
Diffstat (limited to 'gui.py')
-rwxr-xr-xgui.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/gui.py b/gui.py
index 1f9cd620d..9aee7e408 100755
--- a/gui.py
+++ b/gui.py
@@ -410,7 +410,7 @@ class InstallControlWindow:
if not self.__dict__.has_key('window'): return
- self.window.reset_rc_styles ()
+ self.reloadRcQueued = 1
locale = self.todo.instTimeLanguage.getLangNick(lang)
self.html.set_font_charset (locale)
@@ -424,6 +424,7 @@ class InstallControlWindow:
(self.finishButton, _("Finish")) ]:
label = button.children ()[0].children ()[0].children()[1]
label.set_text (text)
+ button.queue_resize()
self.helpFrame.set_label (_("Online Help"))
self.installFrame.set_label (_("Language Selection"))
self.loadReleaseNotes()
@@ -632,6 +633,9 @@ class InstallControlWindow:
self.installFrame.set_label (_(screen.getICS ().getTitle ()))
self.installFrame.add (new_screen)
self.installFrame.show_all ()
+ if self.reloadRcQueued:
+ self.window.reset_rc_styles ()
+ self.reloadRcQueued = 0
def update (self, ics):
if self.buildingWindows or ics != self.currentScreen.getICS ():
@@ -680,6 +684,7 @@ class InstallControlWindow:
buttons["next"].grab_focus ()
def __init__ (self, ii, steps, todo):
+ self.reloadRcQueued = 0
self.ii = ii
self.todo = todo
self.steps = steps