Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug in mypaint, when using the inking tool #1038

Closed
legalmat opened this issue Oct 21, 2019 · 5 comments
Closed

Bug in mypaint, when using the inking tool #1038

legalmat opened this issue Oct 21, 2019 · 5 comments

Comments

@legalmat
Copy link

When I tested the feather tool I draw a line (vector) and clicked on one of those points.
https://youtu.be/deyFMHzLjJg

Basic system details

MyPaint version: [ 1.2.1+gitexport.bcf5a28d]
Operating system: [ ~$ inxi -Fxzd System: Host: godisalways-P55-UD3 Kernel: 4.15.0-50-generic x86_64 bits: 64 gcc: 7.3.0 Desktop: Xfce 4.12.3 (Gtk 2.24.31) Distro: Ubuntu 18.04.2 LTS Machine: Device: desktop Mobo: Gigabyte model: P55-UD3 v: x.x serial: N/A BIOS: Award v: F3 date: 07/31/2009 CPU: Quad core Intel Core i7 860 (-MT-MCP-) arch: Nehalem rev.5 cache: 8192 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 22383 clock speeds: max: 2926 MHz 1: 1221 MHz 2: 1233 MHz 3: 1245 MHz 4: 1222 MHz 5: 1389 MHz 6: 1231 MHz 7: 1260 MHz 8: 1235 MHz Graphics: Card: Advanced Micro Devices [AMD/ATI] Cape Verde XT [Radeon HD 7770/8760 / R7 250X] bus-ID: 01:00.0 Display Server: x11 (X.Org 1.19.6 ) drivers: modesetting,vesa (unloaded: fbdev) Resolution: 1680x1050@59.95hz OpenGL: renderer: AMD CAPE VERDE (DRM 2.50.0, 4.15.0-50-generic, LLVM 7.0.0) version: 4.5 Mesa 18.2.8 Direct Render: Yes Audio: Card-1 Advanced Micro Devices [AMD/ATI] Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series] driver: snd_hda_intel bus-ID: 01:00.1 Card-2 Intel 5 Series/3400 Series High Def. Audio driver: snd_hda_intel bus-ID: 00:1b.0 Card-3 Syntek driver: USB Audio usb-ID: 009-003 Sound: Advanced Linux Sound Architecture v: k4.15.0-50-generic Network: Card: Realtek RTL8169 PCI Gigabit Ethernet Controller driver: r8169 v: 2.3LK-NAPI port: ce00 bus-ID: 04:04.0 IF: enp4s4 state: up speed: 1000 Mbps duplex: full mac: <filter> Drives: HDD Total Size: 1830.4GB (38.6% used) ID-1: /dev/sda model: WDC_WD1500HLFS size: 150.0GB ID-2: /dev/sdb model: WDC_WD2000JD size: 200.0GB ID-3: /dev/sdc model: ST3320620NS size: 320.1GB ID-4: /dev/sdd model: WDC_WD1600JD size: 160.0GB ID-5: USB /dev/sde model: External_USB_3.0 size: 1000.2GB Floppy-1: /dev/fd0 Optical-1: /dev/sr0 model: N/A rev: N/A dev-links: cdrom,cdrw,dvd,dvdrw Features: speed: 48x multisession: yes audio: yes dvd: yes rw: cd-r,cd-rw,dvd-r,dvd-ram state: N/A Partition: ID-1: / size: 136G used: 72G (56%) fs: ext4 dev: /dev/dm-0 ID-2: swap-1 size: 1.02GB used: 0.00GB (0%) fs: swap dev: /dev/dm-1 RAID: No RAID devices: /proc/mdstat, md_mod kernel module present Sensors: System Temperatures: cpu: 44.0C mobo: N/A gpu: 45.0 Fan Speeds (in rpm): cpu: N/A Info: Processes: 417 Uptime: 18:41 Memory: 6904.7/16036.2MB Init: systemd runlevel: 5 Gcc sys: 7.4.0 Client: Shell (bash 4.4.191) inxi: 2.3.56]
Desktop environment: [ Manjaro, Deepin Desktop]

Steps to reproduce

  1. Start MyPaint
  2. [ draw a line with feather tool]
  3. [ clicked on one fo the connectors in the line, the dot, then it gave error tracker report which lead nowhere]
  4. [Program freeze]

[ Paste any error messages here between the ``` lines.]

````python
Mypaint version: 1.2.1+gitexport.bcf5a28d
System information: Linux-5.2.19-rt11-MANJARO-x86_64-with-glibc2.2.5
Using: Python 2.7.16, GTK 3.24.12, GdkPixbuf 2.40.0, Cairo 1.17.3, GLib 2.62.0
Traceback (most recent call last):
  File "/usr/lib/mypaint/gui/document.py", line 610, button_press_cb(self=<gui.document.Document object>, tdw=<tileddrawwidget.TiledDrawWidget object at 0x7f9a33639f50 (TiledDrawWidget at 0x55f21769ee20)>, event=<Gdk.EventButton object at 0x7f9a2be3b3c0 (void at 0x55f216e1de80)>)
            # Normal event dispatch to the top mode on the mode stack
            return CanvasController.button_press_cb(self, tdw, event)
  variables: {'self': ('local', <gui.document.Document object at 0x7f9a33648fd0>), 'tdw': ('local', <tileddrawwidget.TiledDrawWidget object at 0x7f9a33639f50 (TiledDrawWidget at 0x55f21769ee20)>), 'event': ('local', <Gdk.EventButton object at 0x7f9a2be3b3c0 (void at 0x55f216e1de80)>), 'CanvasController.button_press_cb': ('global', <unbound method CanvasController.button_press_cb>)}
  File "/usr/lib/mypaint/gui/document.py", line 107, button_press_cb(self=<gui.document.Document object>, tdw=<tileddrawwidget.TiledDrawWidget object at 0x7f9a33639f50 (TiledDrawWidget at 0x55f21769ee20)>, event=<Gdk.EventButton object at 0x7f9a2be3b3c0 (void at 0x55f216e1de80)>)
            mode = self.modes.top
            result = mode.button_press_cb(tdw, event)
            self._update_last_event_info(tdw, event)
  variables: {'event': ('local', <Gdk.EventButton object at 0x7f9a2be3b3c0 (void at 0x55f216e1de80)>), 'tdw': ('local', <tileddrawwidget.TiledDrawWidget object at 0x7f9a33639f50 (TiledDrawWidget at 0x55f21769ee20)>), 'result': (None, []), 'mode.button_press_cb': ('local', <bound method InkingMode.button_press_cb of <gui.inktool.InkingMode object at 0x7f9a301b6a50>>)}
  File "/usr/lib/mypaint/gui/inktool.py", line 257, button_press_cb(self=<gui.inktool.InkingMode object>, tdw=<tileddrawwidget.TiledDrawWidget object at 0x7f9a33639f50 (TiledDrawWidget at 0x55f21769ee20)>, event=<Gdk.EventButton object at 0x7f9a2be3b3c0 (void at 0x55f216e1de80)>)
            self._update_zone_and_target(tdw, event.x, event.y)
            self._update_current_node_index()
            if self.phase == _Phase.ADJUST:
  variables: {'self._update_current_node_index': ('local', <bound method InkingMode._update_current_node_index of <gui.inktool.InkingMode object at 0x7f9a301b6a50>>)}
  File "/usr/lib/mypaint/gui/inktool.py", line 337, _update_current_node_index(self=<gui.inktool.InkingMode object>)
            self.current_node_changed(new_index)
            self.options_presenter.target = (self, new_index)
            for i in (old_index, new_index):
  variables: {'new_index': ('local', 6), 'self': ('local', <gui.inktool.InkingMode object at 0x7f9a301b6a50>), 'self.options_presenter.target': ('local', (<gui.inktool.InkingMode object at 0x7f9a301b6a50>, 6))}
  File "/usr/lib/mypaint/gui/inktool.py", line 1130, target(self=<gui.inktool.OptionsPresenter object>, targ=(<gui.inktool.InkingMode object>, 6))
            try:
                self._ensure_ui_populated()
                if 0 <= cn_idx < len(inkmode.nodes):
  variables: {'self._ensure_ui_populated': ('local', <bound method OptionsPresenter._ensure_ui_populated of <gui.inktool.OptionsPresenter object at 0x7f9a301b6d50>>)}
  File "/usr/lib/mypaint/gui/inktool.py", line 1082, _ensure_ui_populated(self=<gui.inktool.OptionsPresenter object>)
            builder.set_translation_domain("mypaint")
            builder.add_from_file(builder_xml)
            builder.connect_signals(self)
  variables: {'builder_xml': ('local', '/usr/lib/mypaint/gui/inktool.glade'), 'builder.add_from_file': ('local', gi.FunctionInfo(add_from_file))}
Error: g-file-error-quark: Datei »/usr/lib/mypaint/gui/inktool.glade« konnte nicht geöffnet werden: Datei oder Verzeichnis nicht gefunden (4)
@jplloyd jplloyd changed the title Bug in mypaint, when using the feather tool Bug in mypaint, when using the inking tool Oct 21, 2019
@jplloyd
Copy link
Member

jplloyd commented Oct 21, 2019

Just to be clear, this is Ubuntu 18.04 and not Manjaro linux, correct? And by feather tool you mean the inking tool?

By the error message it looks like the glade files which define the options panel for the tool fails to load. Additionally, If my guesswork-understanding of german is correct, the file is not found (not a read permission issue).

You can check if the file is indeed where it should be, by running (in a terminal):

stat /usr/lib/mypaint/gui/inktool.glade

If that indeed tells you (the german equivalent of) "No such file or directory" then it appears that your install has been messed with. Easiest solution then should be to reinstall using your package manager.

If you are running Ubuntu, and it still does not work after a reinstall, open a terminal and run dpkg --listfiles mypaint and write a new response where you paste the output.

If you want to try a newer version of mypaint you could also use an appimage of the master.
Read this if you don't know how to run an appimage.

@jplloyd
Copy link
Member

jplloyd commented Oct 31, 2019

@legalmat How did it go? This seems to be a problem with the build/package for that distribution, and it may have been caused by someone using a patch I linked to in a previous issue (#1030) of which I said that it "seems to work fine, but I haven't tested it thoroughly".

Turns out that the inktool options and the preference panel were two quite crucial omissions in that patch, so I suspect that someone applied it without testing it more than I did.

Can you confirm that this is Manjaro Linux (which I thought was based on Arch) and not Ubuntu, as your printout seems to suggest?

@jplloyd
Copy link
Member

jplloyd commented Dec 18, 2019

User not responding, seemingly an incorrect packaging of 1.2.1 (possibly encouraged by me).

@jplloyd jplloyd closed this as completed Dec 18, 2019
@namedots
Copy link

namedots commented Feb 11, 2020

@jplloyd
arch apparently moves that file into /usr/share
https://www.archlinux.org/packages/community/x86_64/mypaint/files/
https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/mypaint
they do mention 1030

and, yeah, "me too", (but I'm not in distress)

@jplloyd
Copy link
Member

jplloyd commented Feb 11, 2020

@namedots Thanks for pointing to the source of this. Yeah, it just grabs that commit as a patch and applies it. It needs to be amended with the same kind of change for gui/inktool.py. Just search for "glade" in that file and you will find the location. I thought that gui/preferenceswindow.py needed fixing too, but by the looks of it that should not actually be necessary.

2.0 will drop in a day or two, but I can understand if some people want to keep using 1.2.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants