In my humble opinion, GTK is a boat anchor around the neck of any project. That a number of projects manage to make progress despite this handicap is a testament to the sheer stick with it ness of a few key soldiers. The other great boat anchor is C, as was noted above. Having been coding C continuously for 30 years in projects both big and small, I can say with some confidence that for any project over a thousand lines long, C sucks. A lot. For almost anything, with the exception of heavy array manipulation where C++ lacks modern features such as variable sized arrays and designated initializers. Such number crunching can easily be compiled as separate units where the C's paucity of high level organizational constructs does very little damage.
I am a heavy user of Gimp and I love it. But the C-ishness really shows. I would strongly suggest adding at least a few islands of C++ code. Feel the quality of the goods and all that. Perhaps contrary to popular wisdom, C++ can be called perfectly well from C code, so no wholesale re-engineering is necessary, the sort of project that never gets finished because it takes too long to get to a usable state. Incremental intrusions of sanity is the way to go.