Maurits Rijk <lpeek.mrijk@xxxxxxxxxxx> writes: > I just had a look at the code of some of the plug-ins and I noticed that > there is often lot's of room for improvement: > > 1) some constructions are plain clumsy, for example somewhere I saw: > > for (k = 0; k < bytes; k++) destline++; > > instead of simply: > > destline += bytes; Easily fixable. But why did the code get into that state to begin with? > 2) a lot of functionality has been added since the last update of some > of the plug-ins. Result: duplicate functionality This basically boils down to "the GIMP's user interface is a mess". I don't know how much fixing and polishing you want to do during the freeze. If you remove functionality from some plug-ins, you may have to modify scripts and trigger some other chain reactions that the freeze may not be happy with. > 3) sometimes it's just lack of C knowledge: > > if (p) > free(p); > > can be simply replaced by just: > > free(p); If p is a null pointer then "free (p)" may (and should!) crash. You are incorrect here. > 4) some plugins have obvious memory leaks. > > So my question: is it worth the effort to carefully go through all the > code (not only plug-ins) and clean things up? Yes. You can use tools like memprof to do this. > 1) source code becomes smaller. Not a big deal with Gb harddisks, but > nice for future maintenance. > > 2) object code becomes smaller. My initial estimate that for example > most plug-ins can be easily reduced with 10 a 20 % without much effort. > > 3) during the process we might find further bugs. (3) is the important one. The first priority is to achieve correctness. Performance in terms of speed or memory is secondary. > Disadvantages: > > 1) this will cost time/effort (I am willing to make my contribution). Not an issue. > 2) we might break things that work This can be fixed by, you know, testing things after you change them :-) > 3) we don't spend time on other fun things liking adding functionality. The GIMP does not need more functionality at this point; it needs to be checked for correctness. Federico