From c70217c7459a254b38fafd398966d394432c9e9f Mon Sep 17 00:00:00 2001 From: DILIP Date: Sun, 4 Jan 2026 04:23:08 +0530 Subject: [PATCH] Fix DeprecationWarning: Removed Gdk.threads_enter/leave calls --- asyncipp.py | 6 --- asyncpk1.py | 16 ------- authconn.py | 11 ----- cupshelpers/openprinting.py | 6 --- gtkinklevel.py | 2 - jobviewer.py | 7 ---- newprinter.py | 78 +++++++++++++++-------------------- ppdcache.py | 2 - probe_printer.py | 2 - scp-dbus-service.py | 4 -- system-config-printer.py | 71 +++++++++---------------------- timedops.py | 2 - troubleshoot/PrintTestPage.py | 3 -- troubleshoot/__init__.py | 4 +- 14 files changed, 53 insertions(+), 161 deletions(-) diff --git a/asyncipp.py b/asyncipp.py index 61cd72136..46666fb8f 100644 --- a/asyncipp.py +++ b/asyncipp.py @@ -175,13 +175,11 @@ def stop (self): def _auth (self, prompt, conn=None, method=None, resource=None): def prompt_auth (prompt): - Gdk.threads_enter () if conn is None: self._auth_handler (prompt, self._conn) else: self._auth_handler (prompt, self._conn, method, resource) - Gdk.threads_leave () return False if self._auth_handler is None: @@ -194,9 +192,7 @@ def prompt_auth (prompt): def _reply (self, result): def send_reply (handler, result): if not self._destroyed: - Gdk.threads_enter () handler (self._conn, result) - Gdk.threads_leave () return False if not self._destroyed and self._reply_handler: @@ -205,9 +201,7 @@ def send_reply (handler, result): def _error (self, exc): def send_error (handler, exc): if not self._destroyed: - Gdk.threads_enter () handler (self._conn, exc) - Gdk.threads_leave () return False if not self._destroyed and self._error_handler: diff --git a/asyncpk1.py b/asyncpk1.py index 6b75811b8..ddf500d19 100644 --- a/asyncpk1.py +++ b/asyncpk1.py @@ -110,17 +110,9 @@ def _pk_reply_handler (self, error, *args): return if str (error) == '': - try: - Gdk.threads_enter () - except: - pass debugprint ("%s: no error, calling reply handler %s" % (self, self._client_reply_handler)) self._client_reply_handler (self._conn, self._unpack_fn (*args)) - try: - Gdk.threads_leave () - except: - pass self._destroy () return @@ -133,17 +125,9 @@ def _pk_error_handler (self, exc): if exc.get_dbus_name () == CUPS_PK_NEED_AUTH: exc = cups.IPPError (cups.IPP_NOT_AUTHORIZED, 'pkcancel') - try: - Gdk.threads_enter () - except: - pass debugprint ("%s: no auth, calling error handler %s" % (self, self._client_error_handler)) self._client_error_handler (self._conn, exc) - try: - Gdk.threads_leave () - except: - pass self._destroy () return diff --git a/authconn.py b/authconn.py index 37ff2fcf7..9fb358dfc 100644 --- a/authconn.py +++ b/authconn.py @@ -302,9 +302,6 @@ def _authloop (self, fname, fn, *args, **kwds): return result def _ask_retry_server_error (self, message): - if self._lock: - Gdk.threads_enter () - try: msg = (_("CUPS server error (%s)") % self._operation_stack[0]) except IndexError: @@ -323,7 +320,6 @@ def _ask_retry_server_error (self, message): d.set_default_response (Gtk.ResponseType.OK) if self._lock: d.connect ("response", self._on_retry_server_error_response) - Gdk.threads_leave () else: self._retry_response = d.run () d.destroy () @@ -449,8 +445,6 @@ def _perform_authentication (self): return 1 def _show_not_authorized_dialog (self): - if self._lock: - Gdk.threads_enter () d = Gtk.MessageDialog (transient_for=self._parent, modal=True, destroy_with_parent=True, message_type=Gtk.MessageType.ERROR, @@ -463,7 +457,6 @@ def _show_not_authorized_dialog (self): d.connect ("response", self._on_not_authorized_dialog_response) d.show_all () d.show_now () - Gdk.threads_leave () else: d.run () d.destroy () @@ -473,9 +466,6 @@ def _on_not_authorized_dialog_response (self, dialog, response): dialog.destroy () def _perform_authentication_with_dialog (self): - if self._lock: - Gdk.threads_enter () - # Prompt. if len (self._operation_stack) > 0: try: @@ -497,7 +487,6 @@ def _perform_authentication_with_dialog (self): self._dialog_shown = True if self._lock: d.connect ("response", self._on_authentication_response) - Gdk.threads_leave () else: response = d.run () self._on_authentication_response (d, response) diff --git a/cupshelpers/openprinting.py b/cupshelpers/openprinting.py index da5e2e3a8..5049c7bf0 100755 --- a/cupshelpers/openprinting.py +++ b/cupshelpers/openprinting.py @@ -448,24 +448,18 @@ def search_printers_callback (self, status, user_data, printers): text = "" for printer in printers.values (): text += printer + "\n" - Gdk.threads_enter () self.tv.get_buffer ().set_text (text) - Gdk.threads_leave () def list_drivers_callback (self, status, user_data, drivers): if status != 0: raise drivers[1] text = pprint.pformat (drivers) - Gdk.threads_enter () self.tv.get_buffer ().set_text (text) - Gdk.threads_leave () def query_callback (self, status, user_data, result): - Gdk.threads_enter () self.tv.get_buffer ().set_text (str (result)) open ("result.xml", "w").write (str (result)) - Gdk.threads_leave () q = QueryApp() Gtk.main () diff --git a/gtkinklevel.py b/gtkinklevel.py index 4207e7569..a4e762a3f 100644 --- a/gtkinklevel.py +++ b/gtkinklevel.py @@ -116,13 +116,11 @@ def draw (self, widget, ctx): from gi.repository import GLib import time def adjust_level (level): - Gdk.threads_enter () l = level.get_level () l += 1 if l > 100: l = 0 level.set_level (l) - Gdk.threads_leave () return True w = Gtk.Window () diff --git a/jobviewer.py b/jobviewer.py index 6c9e1e57e..3740040b9 100644 --- a/jobviewer.py +++ b/jobviewer.py @@ -816,9 +816,7 @@ def update_job_creation_times(self): if need_update and not self.job_creation_times_timer: def update_times_with_locking (): - Gdk.threads_enter () ret = self.update_job_creation_times () - Gdk.threads_leave () return ret t = GLib.timeout_add_seconds (60, update_times_with_locking) @@ -873,9 +871,7 @@ def add_job (self, job, data, connection=None): if not self.job_creation_times_timer: def start_updating_job_creation_times(): - Gdk.threads_enter () self.update_job_creation_times () - Gdk.threads_leave () return False GLib.timeout_add (500, start_updating_job_creation_times) @@ -1797,7 +1793,6 @@ def update_status (self, have_jobs=None): self.worst_reason = worst_reason debugprint ("Worst reason: %s" % worst_reason) - Gdk.threads_enter () self.statusbar.pop (0) if self.worst_reason is not None: (title, tooltip) = self.worst_reason.get_description () @@ -1826,8 +1821,6 @@ def update_status (self, have_jobs=None): self.set_statusicon_visibility () self.set_statusicon_tooltip (tooltip=tooltip) - Gdk.threads_leave () - ## Notifications def notify_printer_state_reason_if_important (self, reason): level = reason.get_level () diff --git a/newprinter.py b/newprinter.py index ed61aa0db..69a6fb9fd 100644 --- a/newprinter.py +++ b/newprinter.py @@ -1744,53 +1744,46 @@ def opreq_id_search_done (self, opreq, printers, drivers): for handler in self.opreq_handlers: opreq.disconnect (handler) - Gdk.threads_enter () - - try: - self.opreq_user_search = False - self.opreq_handlers = None - self.opreq = None - self._searchdialog.hide () - self._searchdialog.destroy () - self._searchdialog = None + self.opreq_user_search = False + self.opreq_handlers = None + self.opreq = None + self._searchdialog.hide () + self._searchdialog.destroy () + self._searchdialog = None + + # Check whether we have found something + if len (printers) < 1: + # No. + ready (self.NewPrinterWindow) - # Check whether we have found something - if len (printers) < 1: - # No. - ready (self.NewPrinterWindow) + self.founddownloadabledrivers = False + if self.dialog_mode == "download_driver": + self.on_NPCancel(None) + else: + self.nextNPTab () + else: + self.downloadable_printers = printers + self.downloadable_drivers = drivers + self.founddownloadabledrivers = True + try: + self.NewPrinterWindow.show() + self.setNPButtons() + if not self.fillDownloadableDrivers(): + ready(self.NewPrinterWindow) self.founddownloadabledrivers = False if self.dialog_mode == "download_driver": self.on_NPCancel(None) else: - self.nextNPTab () + self.nextNPTab() else: - self.downloadable_printers = printers - self.downloadable_drivers = drivers - self.founddownloadabledrivers = True - - try: - self.NewPrinterWindow.show() - self.setNPButtons() - if not self.fillDownloadableDrivers(): - ready (self.NewPrinterWindow) - - self.founddownloadabledrivers = False - if self.dialog_mode == "download_driver": - self.on_NPCancel(None) - else: - self.nextNPTab () - else: - if self.dialog_mode == "download_driver": - self.nextNPTab (step = 0) - else: - self.nextNPTab () - except: - nonfatalException () - self.nextNPTab () - - finally: - Gdk.threads_leave () + if self.dialog_mode == "download_driver": + self.nextNPTab(step=0) + else: + self.nextNPTab() + except: + nonfatalException () + self.nextNPTab () def opreq_id_search_error (self, opreq, status, err): debugprint ("OpenPrinting request failed (%d): %s" % (status, @@ -3488,7 +3481,6 @@ def found_callback (new_device): self.printer_finder = finder def found_network_printer_callback (self, new_device): - Gdk.threads_enter () if new_device: self.network_found += 1 dev = PhysicalDevice (new_device) @@ -3530,7 +3522,6 @@ def found_network_printer_callback (self, new_device): "address.") + '') self.lblNetworkFindNotFound.show () - Gdk.threads_leave () ### def getDeviceURI(self): @@ -3674,7 +3665,6 @@ def opreq_user_search_done (self, opreq, printers, drivers): button = self.btnNPDownloadableDriverSearch label = self.btnNPDownloadableDriverSearch_label - Gdk.threads_enter () try: label.set_text (_("Search")) button.set_sensitive (True) @@ -3710,8 +3700,6 @@ def opreq_user_search_done (self, opreq, printers, drivers): except: nonfatalException() - Gdk.threads_leave () - def opreq_user_search_error (self, opreq, status, err): debugprint ("OpenPrinting request failed (%d): %s" % (status, repr (err))) diff --git a/ppdcache.py b/ppdcache.py index 4e99f21a4..b811f42e2 100644 --- a/ppdcache.py +++ b/ppdcache.py @@ -175,9 +175,7 @@ def _connected (self, connection, exc): def _schedule_callback (self, callback, name, result, exc): def cb_func (callback, name, result, exc): - Gdk.threads_enter () callback (name, result, exc) - Gdk.threads_leave () return False GLib.idle_add (cb_func, callback, name, result, exc) diff --git a/probe_printer.py b/probe_printer.py index dddb22ba8..c60ea1b7e 100644 --- a/probe_printer.py +++ b/probe_printer.py @@ -207,9 +207,7 @@ def __init__ (self, *args, **kwargs): pysmb.AuthContext.__init__ (self, *args, **kwargs) def _do_perform_authentication (self): - Gdk.threads_enter () result = pysmb.AuthContext.perform_authentication (self) - Gdk.threads_leave () self._do_perform_authentication_result = result self._gui_event.set () diff --git a/scp-dbus-service.py b/scp-dbus-service.py index b62301400..40f25147c 100644 --- a/scp-dbus-service.py +++ b/scp-dbus-service.py @@ -429,11 +429,9 @@ class ConfigPrintingJobApplet(dbus.service.Object): def __init__ (self, bus, path): bus_name = dbus.service.BusName (CONFIG_BUS, bus=bus) dbus.service.Object.__init__ (self, bus_name=bus_name, object_path=path) - Gdk.threads_enter () self.jobapplet = jobviewer.JobViewer(bus=dbus.SystemBus (), applet=True, my_jobs=True) self.jobapplet.set_process_pending (False) - Gdk.threads_leave () handle = self.jobapplet.connect ('finished', self.on_jobapplet_finished) self.finished_handle = handle self.has_finished = False @@ -599,7 +597,5 @@ def on_added(name, path=None): debugprint ("Service running...") g_killtimer = killtimer.KillTimer (killfunc=Gtk.main_quit) cp = ConfigPrinting () - Gdk.threads_enter () Gtk.main () - Gdk.threads_leave () cp.destroy () diff --git a/system-config-printer.py b/system-config-printer.py index c9689de07..1fd9856a4 100755 --- a/system-config-printer.py +++ b/system-config-printer.py @@ -1200,15 +1200,10 @@ def on_connect_activate(self, widget): def update_connecting_pbar (self): ret = True - Gdk.threads_enter () - try: - if not self.ConnectingDialog.get_property ("visible"): - ret = False # stop animation - else: - self.pbarConnecting.pulse () - finally: - Gdk.threads_leave () - + if not self.ConnectingDialog.get_property ("visible"): + ret = False # stop animation + else: + self.pbarConnecting.pulse () return ret def on_connectingdialog_delete (self, widget, event): @@ -1254,34 +1249,25 @@ def connect(self, parent=None): encryption=self.connect_encrypt) except RuntimeError as s: if self.connect_thread != _thread.get_ident(): return - Gdk.threads_enter() - try: - self.ConnectingDialog.hide() - self.cups = None - self.setConnected() - self.populateList() - show_IPP_Error(None, s, parent) - finally: - Gdk.threads_leave() + self.ConnectingDialog.hide() + self.cups = None + self.setConnected() + self.populateList() + show_IPP_Error(None, s, parent) return except cups.IPPError as e: (e, s) = e.args if self.connect_thread != _thread.get_ident(): return - Gdk.threads_enter() - try: - self.ConnectingDialog.hide() - self.cups = None - self.setConnected() - self.populateList() - show_IPP_Error(e, s, parent) - finally: - Gdk.threads_leave() + self.ConnectingDialog.hide() + self.cups = None + self.setConnected() + self.populateList() + show_IPP_Error(e, s, parent) return except: nonfatalException () if self.connect_thread != _thread.get_ident(): return - Gdk.threads_enter() try: self.ConnectingDialog.hide() @@ -1297,8 +1283,6 @@ def connect(self, parent=None): except: nonfatalException () - Gdk.threads_leave() - def reconnect (self): """Reconnect to CUPS after the server has reloaded.""" # libcups would handle the reconnection if we just told it to @@ -2075,24 +2059,15 @@ def on_start_service_reply (self, *args): GLib.timeout_add_seconds (1, self.service_started_try) def service_started_try (self): - Gdk.threads_enter () - try: - self.on_btnRefresh_clicked (None) - finally: - Gdk.threads_leave () + self.on_btnRefresh_clicked (None) GLib.timeout_add_seconds (1, self.service_started_retry) return False def service_started_retry (self): if not self.cups: - Gdk.threads_enter () - try: - self.on_btnRefresh_clicked (None) - self.btnStartService.set_sensitive (True) - finally: - Gdk.threads_leave () - + self.on_btnRefresh_clicked (None) + self.btnStartService.set_sensitive (True) return False def checkDriverExists(self, parent, name, ppd=None): @@ -2197,11 +2172,7 @@ def on_printer_modified (self, obj, name, ppd_has_changed): def defer_refresh (self): def deferred_refresh (): self.populateList_timer = None - Gdk.threads_enter () - try: - self.populateList (prompt_allowed=False) - finally: - Gdk.threads_leave () + self.populateList (prompt_allowed=False) return False if self.populateList_timer: @@ -2250,11 +2221,7 @@ def main(show_jobs): else: mainwindow = GUI() - Gdk.threads_enter () - try: - Gtk.main() - finally: - Gdk.threads_leave () + Gtk.main() if __name__ == "__main__": import getopt diff --git a/timedops.py b/timedops.py index 111d575f6..a0888dbe6 100644 --- a/timedops.py +++ b/timedops.py @@ -108,7 +108,6 @@ def watcher (self, source, condition): return True def show_wait_window (self): - Gdk.threads_enter () wait = Gtk.MessageDialog (parent=self.parent, modal=True, destroy_with_parent=True, message_type=Gtk.MessageType.INFO, @@ -122,7 +121,6 @@ def show_wait_window (self): wait.format_secondary_text (_("Gathering information")) wait.show_all () self.wait_window = wait - Gdk.threads_leave () return False def wait_window_response (self, dialog, response): diff --git a/troubleshoot/PrintTestPage.py b/troubleshoot/PrintTestPage.py index d2645fc70..aad3dcdbf 100644 --- a/troubleshoot/PrintTestPage.py +++ b/troubleshoot/PrintTestPage.py @@ -476,7 +476,6 @@ def get_notifications (self): # Enter the GDK lock. We need to do this because we were # called from a timeout. - Gdk.threads_enter () parent = self.troubleshooter.get_window () self.op = TimedOperation (get_notifications, @@ -485,7 +484,6 @@ def get_notifications (self): try: notifications = self.op.run () except (OperationCanceled, cups.IPPError): - Gdk.threads_leave () return True answers = self.troubleshooter.answers @@ -527,5 +525,4 @@ def get_notifications (self): self.update_jobs_list) debugprint ("Update again in %ds" % notifications['notify-get-interval']) - Gdk.threads_leave () return False diff --git a/troubleshoot/__init__.py b/troubleshoot/__init__.py index 49d84dc84..206c6153d 100644 --- a/troubleshoot/__init__.py +++ b/troubleshoot/__init__.py @@ -381,6 +381,4 @@ def run (quitfn=None, parent=None): pass Gdk.threads_init() run (Gtk.main_quit) - Gdk.threads_enter () - Gtk.main () - Gdk.threads_leave () + Gtk.main () \ No newline at end of file