GHashTable has g_hash_table_remove_all() since GLib 2.12, so there is
no need any longer to clear the hash table by destroyung it. Instead,
keep the hash around during the view's entire lifetime and remove all
re-creation code and all checks for its existence.
Don't waste the expander space in all GimpContainerTreeViews. We can
later set it to TRUE in individual subclasses which actually display a
tree and not only a list.
Use gtk_tree_view_get_cell_area() instead of
gtk_tree_view_get_background_area() because the latter includes things
like expanders, indentation and padding and messes up the x coordinate
of our naive click detection.
Rename gimptoolview.[ch] to gimptooleditor.[ch]. The contents of the
file has already gone through this change, we do the file name change
separately for better diffs. Part of fix for bug #500930.
Convert the GimpToolView dockable to a non-dockable GimpToolEditor,
but wait with renaming the file so that we get better diffs. Part of
fix for bug #500930.
Make sure to always call rebuildlist() after reseting, including after
interactively clicking the Reset button. Also, we don't need to
restartrender() after rebuildlist() calls since that is done last in
rebuildlist() itself.
Remove the transient-docks setting for gimprc. What GIMP tried to
accomplish with this enabled is much better accomplished by the window
manager with the docks set to the 'Utility window' window hint. See
discussion in bug #322577.
Add gimp_export_dialog_new() for creating a export dialog and
gimp_export_dialog_get_content_area() for accessing the vbox where
clients can put widgets.
'mng_putchunk_plte' and 'mng_putchunk_trns' both copy the array passed in
as if it was full size even when it is only partly used. This commit wraps
their calls passing the arrays dimensioned correctly.
In function 'respin_cmap', when 'find_unused_ia_colour' returns an index
suitable for transparency the number of colors in the colormap, the
following loop used to access three values beyond the end of the array
'before'.
Finally fix a typo in a call to mng_putchunk_text().
The problem is that the parser adds an empty property value when
parsing an empty Alt-array, "<rdf:Alt/>".
But when it is encoded it is expected to be in the form of a NULL
terminated array of pairs of property values, with the result that the
NULL terminator is considered the second element of the first pair and
the loop encoding these properties goes beyond the end of the array,
thus dereferencing invalid pointers.
This commit alters the parser to avoid adding dummy values when empty
rdf:Alt, rdf:Bag and rdf:Seq elements are found.