From 03e7952d269648369f74e8df10bd07f8f3d85e03 Mon Sep 17 00:00:00 2001 From: Calum Lind Date: Wed, 12 Jun 2019 10:16:32 +0100 Subject: [GTK] Only import wnck on X11 display Wnck is only supported on X11 and raises errors in Wayland so only load it when X11 present. Fixes: #3265 --- CHANGELOG.md | 1 + deluge/ui/gtk3/mainwindow.py | 17 +++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2d6db23f..f216f34d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Gtk UI +- Fix errors running on Wayland (#3265). - Fix Peers Tab tooltip and context menu errors (#3266). ### Web UI diff --git a/deluge/ui/gtk3/mainwindow.py b/deluge/ui/gtk3/mainwindow.py index 8896d49a6..92ef91bce 100644 --- a/deluge/ui/gtk3/mainwindow.py +++ b/deluge/ui/gtk3/mainwindow.py @@ -13,6 +13,7 @@ import logging import os.path from hashlib import sha1 as sha +import gi from gi.repository import Gtk from gi.repository.Gdk import DragAction, WindowState from twisted.internet import reactor @@ -27,19 +28,19 @@ from .common import get_deluge_icon from .dialogs import PasswordDialog from .ipcinterface import process_args -try: - import gi - - gi.require_version('Wnck', '3.0') - from gi.repository import Wnck -except ValueError: - Wnck = None - try: from gi.repository import GdkX11 except ImportError: GdkX11 = None +Wnck = None +if GdkX11: + try: + gi.require_version('Wnck', '3.0') + from gi.repository import Wnck + except (ImportError, ValueError): + pass + log = logging.getLogger(__name__) -- cgit