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)
if w:
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
if isinstance(ctrl, ChatControlBase):
tv = ctrl.conv_textview

View File

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

View File

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