Okay. Well when poking around to implement some onion skinning improvements ( http://www.pencil2d.org/forums/topic/i-want-to-contribute-to-this-project/ ), I ran into this peculiarity.
In editor.h, “public slots:” was commented out to become “public: //slots”. I have no idea why this was done, but I think this might be why a lot of the current functionality in the current master is broken. It certainly was why the already implemented ability to set opacity levels for onion frames 2 and 3 steps ahead/behind the current one was broken, and I’ve seen bug reports stating that moving frames back and forth (with a button) is broken too; the part of the pipeline for handling this behavior is in editor.h
I have absolutely no idea why someone edited editor.h and removed the slots keyword from the public declaration but that is necessary for a function to handle a signal, which breaks the asynchronous qt signals meant to handle the user input when they manipulate the UI. A -lot- (all?) of the asynchronous input handled using editor.h is broken because of this.
I’m not sure what functions in the public declaration are meant to just to be public functions or are meant to be slots. But maybe I’ll poke around and see if I can fix a lot of the functionality that is broken by just declaring them as proper slot functions, yeah? Or maybe someone who knows more about this functionality can look into it, too.