Pencil Crash on startup


No problem… It’s been sort of fun to figure this out. A nice little mental workout and refresher. As I said the stuff I’ve been running into feels more like plumbing that not hooked up that an outright bug.


Happy new year Pencil users and contributors! May 2016 be a great year of great Pencil animations! :wink:

I will have a look at the black is white bug. Should have some time on monday.

I never had this bug before. It may be linked to bad default settings…

About unit tests, I haven’t been using them so far. I have been doing bug fixing and some implementations straight into the code. I know it is not the best approach but I didn’t really know how long I would be able to work on Pencil, and needed a basic version of it working for myself. I also tryed to push to have a working version to start federating a community in the hope of doing a crowd funding at some point. We are not quite there yet but I believe we are slowly taking the right direction.

I guess at some point, very soon, especially if we are several developpers, we will have to write down some development rules together.


I think I fixed that bug. I moved mEditor->setObject( object ); to before the init and the issue went away… (I pushed the change to the bugFix branch)



It looks like Matt had pulled my fixes into the master. My programming laptop runs linux. I was hopping to have my daughter try out a nightly build for her windows machine. Is there a build coming anytime soon?

As far as unit testing…
There is folder called tests with a project file.
I tried opening it and compiling and I got this error:

:-1: error: No rule to make target /home/jonasthomas/pencil2d/build-tests-Desktop-Debug/…/core_lib/libcore_lib.a’, needed bytests’. Stop.

(It’s sort of hard to feel motivated to fix this since I got the main code working)

I haven’t really unit tested myself. I was involved in a open source project where developers where “itching their scratch” and where tripping over each other breaking each others stuff.(some type of testing regime might have helped) It wasn’t fun and basically left everyone upset. Oth, Freecad seems to have a strong core group of developers who seem to work well with each other. It’s an incredibly complex application which needs a lot of time investment if you want to code contribute on the c++ side of things. I don’t think they have unit testing, but the C++ coding style and what gets rolled into the master code trunk, is pretty tightly controlled (oth they have wrapped the libraries in python, which makes it possible for people to write plugins… sorry I digress).
The freecad project seems to be an order of magnitude+ larger than pencil2d but a lot smaller than Blender. It’s a nice community. Perhaps some of their practices might be of use.
I haven’t detected any particular noxious odors so far in the pencil code and I’ve been and the code makes sense to me.

The one thing I was wondering about while I was making fixes to get the code running was if the changes I undid where for testing purposes. If the code was being optimized as a unit testiing, would it be easier to have more external things instantiated in a constructor vs a getter or init?

Hopefully, I can my daughter can start using the code which will be a good motivator for me, to keep helping out on this project.


Thank you so much for your help @jonasthomas!

If you can manage to fix the bug of the selection tool, your daughter should be able to start playing with Pencil. (If you can’t, I will give you a hand).

I should suggest to your daughter no trying to do her animation cleaning with the vector layer at the moment. The paint bucket tool in the vector engine is still not working very well. Also, I will work on improving the bucket tool experience within the bitmap engine (which already works pretty well). It should be working by the end of next week. Hopefully Matt will make a build soon after (I am also running Linux) and your daughter will be able to have fun with the application.

Honestly, I don’t think you need to get your daughter any paying nor even proprietary software for her graphics creations on windows. If she wants to play with Illustrator for vector illustrations, you can make her try Inkscape. I have used this software for a couple of projects and it is very powerful. Gimp and Krita are other very powerful software for bitmap drawing and pictures manipulations. Blender is one of the most amazing software I have ever used. It is not just about 3D creation, you can also make very advanced compositing and editing with it. To give you an example, I have made the compositing, editing and grading of this advert entirely within Blender. At the time, I used flash for the 2D animations because there was no free alternative. It is why I decided to contribute to Pencil and get a full free software environment.


umm… which bug(s) in the bitmap selection tool are we talking about? When my daughter first tried pencil, I think she might have downloaded the older windows package, it was giving her some real weird results… So far in linux at least the current master trunk seems to be behaving itself reasonable well… I wanted to see how things behave we reinstall it on windows with some of the latest builds.
Nice work in Blender btw. Blender is powerful, but it almost has too many hard to figure out features, I tried it out a while back had I couldn’t figure it out… (that is a nice thing that pencil2s has going for it so far… It’s fairly intuitive)

Vestiges on the black becomes white issues remain. When I create new file black is black, but if I open file, black become white…


@jonasthomas, there is a bug with the selection tool when used within a bitmap layer that breaks the picture in some case. I can fix it myself anyway. I have implemented this feature so I know how it works. I will be able to help you out tomorrow.

The fact that black becomes white when you open an existing project is due to the fact that the project you try to open has bee created when the bug was there. When you save a project, the palette is saved with it. You can alter each palette colour by selecting it and changing colour on the colour wheel. When you re-open a project, the palette is reloaded with those changes.

I think your bug is fixed but you have tried to open a palette with bad colour. You should try to open your broken project, put the black back to black, save it and re-open it. It should always be black now.


I was getting Black is White appearing with file new.

I think I fixed that , but now I found another issue.

After File->New is selected I can’t get the pencil to draw.
I think this is occurring when a file is retrieved also.


@feeef @Jose

Turns out that the issue is that when File->New is selected the Camera Layer becomes active to the pen tools don’t work on that layer. (That threw me and seems like it would be very confusing to newer users)

Which pen/ pencil tools be visible be visible when the camera layer is active?
If File->New is selected should the default layer automatically be Bitmap Layer?


I think I got this black become white issue fixed
It’s addressed when the app just starts, File->new is selected or a previous file is loaded.
It pushed it in a bugFix branch.
I’m thinking default layer selection should be consistent between the modes and some tools hidden when camera mode is selected… Any thoughts are welcome.


@jonasthomas, the default selected layer should always be the bitmap layer. This way, it would be consistant.

Derek (I don’t know if he is on the forum) is also contributing in the code and he pointed out this issue. I guess we should have a chat all together as well as with Matt @chchwy, to talk about working together and organize ourselves in order to all make sure we don’t work on the same bugs and we all go to the same direction.

Great to see Pencil2D devs being so active again anyway! :slight_smile:


The latest merges seemed to have improved the performance from christmas. :wink:
Where you able to get anywhere with coordinating a meeting? (weekends are best for me)
I would like to contribute to the project, but my funtime is more constrained since xmas vacation is over.

taisaif had summitted a pull request to submit to fix that annoying startup bug where the default layer wasn’t the bitmap.
@chchwy Do you have any preference on how which branches bug fixes and enchancements are submitted on? The thought occurs to me that if we a branches other than the master, you could pull them over and little faster with a cursory review give a chance for developers/testers beat them up a bit before getting merged to master.


I have made some updates too but I am waiting for @chchwy to merge the current pull requests to handle any conflicts myself. I will send my pull request after that.