URL:
<http://gna.org/bugs/?19760>
Summary: Using custom input pressure curve causes tracebacks,
breaks config
Project: MyPaint
Submitted by: marand
Submitted on: Thu May 24 07:36:15 2012
Severity: 5 - Blocker
Priority: 5 - Normal
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: git (b37284)
Planned Release: None
Operating System: Debian testing
_______________________________________________________
Details:
Program works fine with the default linear pressure setting, but breaks when
it's customised.
How to reproduce:
1. Start with empty config (./mypaint -c ~/mptmp)
2. Edit → Preferences
3. Add a new point to the pressure curve
4. Get traceback:
Traceback (most recent call last):
File "$HOME/files/local/src/mypaint-git/mypaint/gui/curve.py", line 116,
button_release_cb(self=<CurveWidget object at 0xa675b6c (CurveWidget at
0xa6acb00)>, widget=<CurveWidget object at 0xa675b6c (CurveWidget at
0xa6acb00)>, event=<gtk.gdk.Event at 0xa307578: GDK_BUTTON_RELEASE x=93.00,
y=194.00, button=1>)
# notify user of the widget
self.changed_cb(self)
variables: {'self': ('local', <CurveWidget object at 0xa675b6c (CurveWidget
at 0xa6acb00)>), 'self.changed_cb': ('local', <bound method
Window.pressure_curve_changed_cb of <Window object at 0xa341694 (GtkDialog at
0xa4afa80)>>)}
File "$HOME/files/local/src/mypaint-git/mypaint/gui/preferenceswindow.py",
line 342, pressure_curve_changed_cb(self=<Window object at 0xa341694
(GtkDialog at 0xa4afa80)>, widget=<CurveWidget object at 0xa675b6c
(CurveWidget at 0xa6acb00)>)
self.app.preferences['input.global_pressure_mapping'] =
self.cv.points[:]
self.app.apply_settings()
variables: {'self.app.apply_settings': ('local', <bound method
Application.apply_settings of <gui.application.Application instance at
0xa0996cc>>)}
File "$HOME/files/local/src/mypaint-git/mypaint/gui/application.py", line
171, apply_settings(self=<gui.application.Application instance>)
"""Applies the current settings."""
self.update_input_mapping()
self.update_input_devices()
variables: {'self.update_input_mapping': ('local', <bound method
Application.update_input_mapping of <gui.application.Application instance at
0xa0996cc>>)}
File "$HOME/files/local/src/mypaint-git/mypaint/gui/application.py", line
342, update_input_mapping(self=<gui.application.Application instance>)
# TODO: maybe replace this stupid mapping by a hard<-->soft
slider?
m = mypaintlib.Mapping(1)
m.set_n(0, len(p))
variables: {'mypaintlib.Mapping': ('global', <class
'lib.mypaintlib.Mapping'>), 'm': (None, [])}
File "$HOME/files/local/src/mypaint-git/mypaint/lib/mypaintlib.py", line
139, __init__(self=<lib.mypaintlib.Mapping; >, *args=(1,), **kwargs={})
__getattr__ = lambda self, name: _swig_getattr(self, Mapping, name)
def __init__(self, *args, **kwargs): raise AttributeError("No
constructor defined")
__repr__ = _swig_repr
variables: {'self': ('local', <lib.mypaintlib.Mapping; >), 'args':
('local', (1,)), 'AttributeError': ('builtin', <type
'exceptions.AttributeError'>), '__init__': (None, []), 'kwargs': ('local',
{})}
AttributeError: No constructor defined
---
Additional info:
Starting MyPaint with an existing config that already has a custom curve
causes additional strange behaviour. Error occurs on program start, and
causes other configuration to not load properly. Device has a strange
pressure curve and various other config settings, such as button bindings, are
undefined.
In addition to testing with existing and clean configs, I cloned git master
into a new directory and tested with a clean copy to be certain I had no code
changes present.
Not sure when this started, it was my first attempt at using a newer git copy
of MyPaint in a few months.
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?19760>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Mypaint-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/mypaint-bugs