mirror of https://github.com/GNOME/gimp.git
ed4c50ce2e
There are 3 fixes here: 1. First, searching for "\"GimpFont\"" to determine whether or not this is a new format text parasite is not enough, because this string can be found in a text layer with "GimpFont" only as contents. It will serialize as: > (text "GimpFont") Instead search for "(font \"GimpFont\"" which cannot be created as part of the text contents because of the unprotected double quotes). 2. We must verify that strstr() did not return NULL when searching for markup delimiters. It may happen if the parasite contents is invalid (we must always assume it can be, since it's user data). 3. When deserialization of a text from parasite fails (e.g. because parasite doesn't actually exist or its format is wrong), still make sure the GimpText has a font (setting the standard one before deserializing). Otherwise GIMP crashes down the line. For this, I also had to fix gimp_config_deserialize_object(): the object type name must be parsed even if an object was already set in a GObject property. |
||
---|---|---|
.. | ||
Makefile.gi | ||
gimpcolorconfig.c | ||
gimpcolorconfig.h | ||
gimpconfig-array.c | ||
gimpconfig-array.h | ||
gimpconfig-deserialize.c | ||
gimpconfig-deserialize.h | ||
gimpconfig-error.c | ||
gimpconfig-error.h | ||
gimpconfig-iface.c | ||
gimpconfig-iface.h | ||
gimpconfig-params.c | ||
gimpconfig-params.h | ||
gimpconfig-path.c | ||
gimpconfig-path.h | ||
gimpconfig-register.c | ||
gimpconfig-register.h | ||
gimpconfig-serialize.c | ||
gimpconfig-serialize.h | ||
gimpconfig-utils.c | ||
gimpconfig-utils.h | ||
gimpconfig.def | ||
gimpconfig.h | ||
gimpconfigenums.c | ||
gimpconfigenums.h | ||
gimpconfigtypes.h | ||
gimpconfigwriter.c | ||
gimpconfigwriter.h | ||
gimpscanner.c | ||
gimpscanner.h | ||
meson.build |