Maybe why a lot of functionality (such as moving keyframes) is broken right now

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.

Okay… Poking around more I think what probably happened is that things were refactored to use the qt “connect” functionality rather than a SIGNAL/SLOT system for most of these functions. Whoever did it missed refactoring the opacity level settings, and broke them instead. But I don’t see much evidence that anything else should be broken. I just spent a long while yesterday trying to figure out why these things were broken, and figured out more stuff was broken in that way. But I guess I’ll keep investigating why the timeline editing is broken.

Imprint