call gtk.gdk.window.focus() with current timestamp rather than 0. This fixes some WM issues.

This commit is contained in:
Yann Leboulanger 2009-09-23 17:35:42 +02:00
parent abba30b439
commit 17f17267ea
3 changed files with 6 additions and 5 deletions

View File

@ -2527,7 +2527,7 @@ class Interface:
self.roster.draw_contact(jid, account) self.roster.draw_contact(jid, account)
if w: if w:
w.set_active_tab(ctrl) w.set_active_tab(ctrl)
w.window.window.focus() w.window.window.focus(gtk.get_current_event_time())
# Using isinstance here because we want to catch all derived types # Using isinstance here because we want to catch all derived types
if isinstance(ctrl, ChatControlBase): if isinstance(ctrl, ChatControlBase):
tv = ctrl.conv_textview tv = ctrl.conv_textview

View File

@ -27,6 +27,7 @@
## ##
import gobject import gobject
import gtk
import os import os
from common import gajim from common import gajim
@ -377,7 +378,7 @@ class SignalObject(dbus.service.Object):
win = gajim.interface.msg_win_mgr.get_window(jid, win = gajim.interface.msg_win_mgr.get_window(jid,
connected_account).window connected_account).window
if win.get_property('visible'): if win.get_property('visible'):
win.window.focus() win.window.focus(gtk.get_current_event_time())
return DBUS_BOOLEAN(True) return DBUS_BOOLEAN(True)
return DBUS_BOOLEAN(False) return DBUS_BOOLEAN(False)
@ -507,7 +508,7 @@ class SignalObject(dbus.service.Object):
win.present() win.present()
# preserve the 'steal focus preservation' # preserve the 'steal focus preservation'
if self._is_first(): if self._is_first():
win.window.focus() win.window.focus(gtk.get_current_event_time())
else: else:
win.window.focus(long(time())) win.window.focus(long(time()))

View File

@ -2929,7 +2929,7 @@ class RosterWindow:
if gc_control: if gc_control:
mw = gajim.interface.msg_win_mgr.get_window(jid, account) mw = gajim.interface.msg_win_mgr.get_window(jid, account)
mw.set_active_tab(gc_control) mw.set_active_tab(gc_control)
mw.window.window.focus() mw.window.window.focus(gtk.get_current_event_time())
return return
ctrl = gajim.interface.minimized_controls[account][jid] ctrl = gajim.interface.minimized_controls[account][jid]
mw = gajim.interface.msg_win_mgr.get_window(jid, account) mw = gajim.interface.msg_win_mgr.get_window(jid, account)
@ -2939,7 +2939,7 @@ class RosterWindow:
ctrl.parent_win = mw ctrl.parent_win = mw
mw.new_tab(ctrl) mw.new_tab(ctrl)
mw.set_active_tab(ctrl) mw.set_active_tab(ctrl)
mw.window.window.focus() mw.window.window.focus(gtk.get_current_event_time())
self.remove_groupchat(jid, account) self.remove_groupchat(jid, account)
def on_edit_account(self, widget, account): def on_edit_account(self, widget, account):