GNOME Bugzilla – Bug 732440
'gi.repository.Vte' object has no attribute 'TerminalCursorBlinkMode'
Last modified: 2015-02-07 16:57:31 UTC
Error launching details: 'gi.repository.Vte' object has no attribute 'TerminalCursorBlinkMode' Traceback (most recent call last):
+ Trace 233743
details.activate_default_page()
self.activate_default_console_page()
self.console.activate_default_console_page()
self._show_serial_tab(name, serialidx)
serial = vmmSerialConsole(self.vm, target_port, name)
self.init_terminal()
self.terminal.set_cursor_blink_mode(Vte.TerminalCursorBlinkMode.ON)
return getattr(self._introspection_module, name)
self.__name__, name))
This seems like a virt-manager (or gobject-introspection) problem? Alternatively, you're trying to run this programme depending on vte 0.36's gir against vte 0.37's gir. But that shouldn't happen by accident.
(In reply to comment #1) > This seems like a virt-manager (or gobject-introspection) problem? I think gobject-introspection, but I'm not sure. Therefore sent bug for vte. I don't know how works gir. > Alternatively, you're trying to run this programme depending on vte 0.36's gir > against vte 0.37's gir. But that shouldn't happen by accident.
https://git.fedorahosted.org/cgit/virt-manager.git/commit/?id=3c2dc15af77d393e492736c79166970bb029acc5
This bug should be reopened, it is either a VTE or gobject-introspection issue. The root problem is that the introspected enum name is now Vte.CursorBlinkMode, while previously (and for the past 3 Fedora versions at least) it was Vte.TerminalCursorBlinkMode. Same with Vte.TerminalEraseBinding/Vte.EraseBinding Additionally the Vte.Terminal.set_emulation API seems to be entirely missing, both from introspection and from the public API docs here: https://developer.gnome.org/vte/unstable/VteTerminal.html Despite there being no previous deprecation warning that I can tell, at least not in the 0.36 docs.
Maybe fallout from https://git.gnome.org/browse/vte/commit/?id=97f610ba1b9a0fac1382636e4ed9baad20209d24 ? But I'm pretty sure g-i *should* have originally exported it as Vte.CursorBlinkMode, so there may be something else going on.
The actual culprit is: commit 8d7f0d7f0ee36698d7de3db7aba737e342a27766 Author: Christian Persch <chpe@gnome.org> Date: Mon Apr 7 09:40:53 2014 +0200 all: Rename API Where TerminalCursorBlinkMode was renamed to CursorBlinkMode
Um, we changed vte API/ABI and bumped the API version from 2.90 to 2.91, so where's the problem?
I didn't realize at the time of my comment that the API version was also bumped. I thought that commit was internal code movement that affected the gi output. So nothing is wrong with VTE here
Linking back to https://bugzilla.redhat.com/show_bug.cgi?id=1114379 where the real bug was spotted in comment 9. Brain-damaged python gir doesn't depend on a particular version number of vte by default, but tries to include the newest found on the system. Such a horrible design! We should really follow up with them to fix this crap.
Python-introspection bugreport: https://bugzilla.gnome.org/show_bug.cgi?id=727379
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]