drawing icon indicating copy to clipboard operation
drawing copied to clipboard

Can't change the active tool if Gdk doesn't find the cursor

Open theycallhermax opened this issue 3 years ago • 10 comments

Description

The tool is stuck on selection, and I tried restarting the app, and it doesn't do anything.

Steps to reproduce the bug

  1. Switch to the paint tool
  2. Then switch to the selection tool
  3. Use the selection tool
  4. Try to switch to the paint tool It doesn't work, and stays on the selection tool.

System

  • Device (desktop computer/tablet/phone/...): Computer
  • OS: Ubuntu 22.04
  • Desktop environment: Generic (Wayland)
  • Package format: PPA
  • App version: 1.0.1

theycallhermax avatar Jun 23 '22 14:06 theycallhermax

Please write down a list of understandable steps to reproduce the bug

maoschanz avatar Jun 23 '22 14:06 maoschanz

i can't reproduce it so it looks like the only way to troubleshoot the issue will be to launch the app from a terminal, and you'll tell if some errors are being written while you reproduce the problem

maoschanz avatar Jun 24 '22 15:06 maoschanz

This is what it returns:

Gdk-Message: 12:27:07.528: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/image.py", line 475, in on_motion_on_area
    self.active_tool().on_unclicked_motion_on_area(event, self.surface)
  File "/usr/share/drawing/drawing/abstract_select.py", line 148, in on_unclicked_motion_on_area
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL
Gdk-Message: 12:27:08.330: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/image.py", line 475, in on_motion_on_area
    self.active_tool().on_unclicked_motion_on_area(event, self.surface)
  File "/usr/share/drawing/drawing/abstract_select.py", line 148, in on_unclicked_motion_on_area
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL
Gdk-Message: 12:27:08.364: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/image.py", line 475, in on_motion_on_area
    self.active_tool().on_unclicked_motion_on_area(event, self.surface)
  File "/usr/share/drawing/drawing/abstract_select.py", line 148, in on_unclicked_motion_on_area
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL
Gdk-Message: 12:27:08.400: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/image.py", line 475, in on_motion_on_area
    self.active_tool().on_unclicked_motion_on_area(event, self.surface)
  File "/usr/share/drawing/drawing/abstract_select.py", line 148, in on_unclicked_motion_on_area
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL
Gdk-Message: 12:27:09.104: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/image.py", line 475, in on_motion_on_area
    self.active_tool().on_unclicked_motion_on_area(event, self.surface)
  File "/usr/share/drawing/drawing/abstract_select.py", line 148, in on_unclicked_motion_on_area
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL
Gdk-Message: 12:27:09.143: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/image.py", line 475, in on_motion_on_area
    self.active_tool().on_unclicked_motion_on_area(event, self.surface)
  File "/usr/share/drawing/drawing/abstract_select.py", line 148, in on_unclicked_motion_on_area
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL
Gdk-Message: 12:27:09.168: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/image.py", line 475, in on_motion_on_area
    self.active_tool().on_unclicked_motion_on_area(event, self.surface)
  File "/usr/share/drawing/drawing/abstract_select.py", line 148, in on_unclicked_motion_on_area
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL
Gdk-Message: 12:27:09.188: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/image.py", line 475, in on_motion_on_area
    self.active_tool().on_unclicked_motion_on_area(event, self.surface)
  File "/usr/share/drawing/drawing/abstract_select.py", line 148, in on_unclicked_motion_on_area
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL
Gdk-Message: 12:27:09.217: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/image.py", line 475, in on_motion_on_area
    self.active_tool().on_unclicked_motion_on_area(event, self.surface)
  File "/usr/share/drawing/drawing/abstract_select.py", line 148, in on_unclicked_motion_on_area
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL
Gdk-Message: 12:27:09.242: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/image.py", line 475, in on_motion_on_area
    self.active_tool().on_unclicked_motion_on_area(event, self.surface)
  File "/usr/share/drawing/drawing/abstract_select.py", line 148, in on_unclicked_motion_on_area
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL
Gdk-Message: 12:27:09.287: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/image.py", line 475, in on_motion_on_area
    self.active_tool().on_unclicked_motion_on_area(event, self.surface)
  File "/usr/share/drawing/drawing/abstract_select.py", line 148, in on_unclicked_motion_on_area
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL
Gdk-Message: 12:27:09.319: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/image.py", line 475, in on_motion_on_area
    self.active_tool().on_unclicked_motion_on_area(event, self.surface)
  File "/usr/share/drawing/drawing/abstract_select.py", line 148, in on_unclicked_motion_on_area
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL
Gdk-Message: 12:27:09.367: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/image.py", line 475, in on_motion_on_area
    self.active_tool().on_unclicked_motion_on_area(event, self.surface)
  File "/usr/share/drawing/drawing/abstract_select.py", line 148, in on_unclicked_motion_on_area
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL
Gdk-Message: 12:27:11.342: Unable to load cross from the cursor theme
Traceback (most recent call last):
  File "/usr/share/drawing/drawing/window.py", line 208, in _update_active_tool_from_flowbox_signal
    self.switch_to(selected_tool.id)
  File "/usr/share/drawing/drawing/window.py", line 906, in switch_to
    self.former_tool().give_back_control(should_preserve_selection)
  File "/usr/share/drawing/drawing/abstract_select.py", line 75, in give_back_control
    self.unselect_and_apply()
  File "/usr/share/drawing/drawing/abstract_select.py", line 289, in unselect_and_apply
    self.window.set_cursor(True)
  File "/usr/share/drawing/drawing/window.py", line 615, in set_cursor
    cursor = Gdk.Cursor.new_from_name(Gdk.Display.get_default(), name)
TypeError: constructor returned NULL

theycallhermax avatar Jun 24 '22 16:06 theycallhermax

oh, that's an unexpected problem

what's the name of your mouse cursor theme? it's visible in the "GNOME Tweaks" app

maoschanz avatar Jun 25 '22 12:06 maoschanz

It appears that it's... Nothing? image I'm using this on a Chromebook if that helps.

theycallhermax avatar Jun 26 '22 14:06 theycallhermax

you should try sudo apt install yaru-theme and then select a cursor theme in Tweaks

maoschanz avatar Jun 26 '22 14:06 maoschanz

sudo apt install yaru-theme

It says that there's no such package.

theycallhermax avatar Jun 26 '22 15:06 theycallhermax

ok sorry i don't understand wtf ubuntu is doing with their packaging nowadays, so install xcursor-themes and dmz-cursor-theme instead, it's probably less nice but it will work

maoschanz avatar Jun 26 '22 18:06 maoschanz

OK, it works now, thank you so much!

theycallhermax avatar Jun 26 '22 21:06 theycallhermax

i reopen it because i believe i can make the app work even if this preference isn't set

maoschanz avatar Jun 27 '22 07:06 maoschanz