Commit graph

43917 commits

Author SHA1 Message Date
Jehan
f4f63dad9c libgimpmath: remove gimpmath.h from introspection.
This header is just full of macros and GI doesn't introspect macros
anyway. Yet it was still bothering us with warnings.
2019-08-05 16:43:30 +02:00
Jehan
fead2f7d9d libgimpbase: fix broken annotation.
s/default_/default_value/
2019-08-05 16:41:44 +02:00
Jehan
d999248d70 libgimpbase: fix/improve docs/annotations.
Our GimpStringArray is so weird. We are obviously expecting it to be
NULL-terminated since, when we duplicate the data, we add one value.
Yet we were not checking that the stored data was NULL-terminated, in
particular when the string array is created with static data (in which
case, we use the input data as-is, without re-allocating).

Note that this doesn't fix the type mismatch Gimp.StringArray vs
Gimp.Array when introspecting.
2019-08-05 16:29:52 +02:00
Jehan
aa6a1d369c plug-ins: use GtkSettings values to determine whether to use header bar.
As we do in other parts of the code.
Also applies the same thing to the console dialog itself.
2019-08-05 16:10:12 +02:00
Michael Natterer
f4b2cda964 Issue #3753 - Gimp master don't build on mingw-w64 errors on...
...gimp-shm.c

Fix some stuff I had copied blindly because it's not built on
my machine.
2019-08-05 16:02:38 +02:00
Michael Natterer
d5fbbf3f49 libgimp: #include <sys/types.h> in gimp-debug.c 2019-08-05 16:00:02 +02:00
Michael Natterer
254271971e libgimp*: more docs and annotations 2019-08-05 15:57:11 +02:00
Jehan
515bfe94e3 libgimpbase: add annotations to several functions.
Not all of the public functions in the file, but at least the ones with
warnings.
2019-08-05 15:43:35 +02:00
Michael Natterer
c6236ac140 pdb, libgimp: more docs and annotations 2019-08-05 15:31:43 +02:00
Jehan
0af32861e7 plug-ins: GimpProcBrowserDialog with "use-header-bar" in Python-console.
We have code for this in gimp_proc_browser_dialog_new(), but it cannot
be moved in the object init() because this is a construction-time only
property. So this needs to be passed from the python call too.
2019-08-05 15:16:32 +02:00
Jehan
a76c9305bb libgimp: run the first search of GimpProcBrowserDialog in init().
Otherwise, if run in gimp_proc_browser_dialog_new(), this initial search
does not happen when constructing with g_object_new(). This is
especially bad for non-C plug-ins as gimp_proc_browser_dialog_new() is
not introspectable because of variable arguments.
2019-08-05 15:12:16 +02:00
Michael Natterer
acbe229427 libgimp: make gimp_proc_view_new() show both new- and old-style args
And reduce its API to just (proc-name, menu-path), it can look up all
the shit from the PDB itself.
2019-08-05 14:17:18 +02:00
Michael Natterer
6c18492668 app, libgimp: support GParamParam as a GParamSpec
also add forgotten support for GimpParamEnum.
2019-08-05 14:16:09 +02:00
Michael Natterer
7764f8b34b libgimpbase: add support for GParamParam in GPParamDef too
to describe param specs that describe param specs, yay.
2019-08-05 14:12:19 +02:00
Michael Natterer
a6516e5097 app, libgimp: support GParamUInt on the wire 2019-08-05 12:47:05 +02:00
y-guyon
8f828d1899 plug-ins: WebP: save_dialog() before gimp_export()
As mentioned in issue #1777, exporting non-animated WebP images was
only keeping the current layer.
Mimick file-gif-save.c: display the encoding settings pop-up earlier
so that gimp_export_image() can merge the layers unless "As Animation"
is enabled. Call gimp_image_get_layers() directly in save_image() in
case the layers were merged (for clarity because layers are used only
for animations).
2019-08-05 09:46:46 +00:00
Michael Natterer
9969dd8b03 authors.xml: add Niels De Graef 2019-08-05 10:51:47 +02:00
Michael Natterer
c8f38810d1 pdb: add gimp_procedural_db_proc_argument() and _return_value()
Which return proper GParamSpecs. Incuding some useless testing code in
gimp_procedural_db_proc_info(), to make sure things work, will go away
again soon.
2019-08-05 10:48:23 +02:00
Michael Natterer
aa505b43dc app, libgimp*: add protocol support for GValues holding a GParamSpec
so we can have PDB introspection procedures for the new plug-in API.
2019-08-05 09:07:45 +02:00
Niels De Graef
e77382ee75 docs: Fix warnings for annotations
Right now, we get the following warnings when building the docs:

> gtk-doc.xsl: For acronym (nullable) no value found

This is because we're not adding the generated annotation glossary to
the docs sgml (presumably because we didn't need it as we didn't use
GObject-Introspection yet). This commit adds those lines and thus fixes
the warnings.
2019-08-05 07:05:37 +00:00
Michael Natterer
32823f1709 libgimpbase: reorder types and structs in gimpprotocol.h
so the next commit becomes more readable.
2019-08-04 23:59:25 +02:00
Michael Natterer
21d63d6c65 pdb: fix the names of the oilify compat PDB wrappers 2019-08-04 23:31:14 +02:00
Michael Natterer
8c1a43dff7 libgimp: move the debug code to new private files gimp-debug.[ch] 2019-08-04 23:26:31 +02:00
Michael Natterer
a74f4de81e libgimp: some random minor cleanups 2019-08-04 23:02:42 +02:00
Michael Natterer
888c42fbb8 libgimpbase: remove the gimp protocol mutex and gp_lock()/gp_unlock()
The protocol is supposed to be used recursively, the locks just
deadlock in some situations. Threaded use of the wire protocol is
simply forbidden.
2019-08-04 22:42:15 +02:00
Michael Natterer
5ac8b70e47 pdb: generate the (array length=foo) annotation with less hacks
and more important: correctly.
2019-08-04 22:24:11 +02:00
Michael Natterer
360314eda7 pdb: fix generation of "Returns:" to not line-wrap annotations
Also generate comments like "Must be freed with g_free()" for all
return values instead of manually and inconsistently having them on
some return values only.
2019-08-04 22:09:04 +02:00
Tim Sabsch
3f5595aadc Update German translation
(cherry picked from commit ea09260012)
2019-08-04 19:25:51 +00:00
Michael Natterer
1c317a739b libgimp: forgot to actually add gimp-shm.[ch] 2019-08-04 20:18:10 +02:00
Michael Natterer
ca1cb056fc libgimp: move the shm code to new private files gimp-shm.[ch]
and remove it from the public API, it should have never been
there in the first place.
2019-08-04 18:54:00 +02:00
Michael Natterer
454822e58f data: add python.env to set up the GI_TYPELIB_PATH to Gimp-3.0.typelib 2019-08-04 18:20:25 +02:00
Michael Natterer
d34bc03229 libgimp: don't leak the temp callback name in the data select impls 2019-08-04 18:04:18 +02:00
Michael Natterer
fad59611bc libgimp: port gimpprogress to the new plug-in API, untested
It's tested to still work when using the old API though.
2019-08-04 17:51:59 +02:00
Jehan
026cc0f149 libgimp: fix s/m_float/m_enum/ for GP_PARAM_DEF_TYPE_ENUM. 2019-08-04 17:23:54 +02:00
Michael Natterer
89feeecc96 libgimp: make GimpFontSelectButton interpret NULL as the current font
like all other select buttons do.
2019-08-04 17:14:18 +02:00
Michael Natterer
ae7fa2a1de libgimp: clean up the instance private code in all select buttons 2019-08-04 17:04:22 +02:00
Michael Natterer
b6033684ff plug-ins: add all brush, pattern etc. select buttons to pagecurl
They do nothing but testing themselves with the new plug-in API, this
is of course temporary.
2019-08-04 17:02:21 +02:00
Michael Natterer
6e80a2324f libgimp: port gimp*select.[ch] to the new plug-in API
Use the new implementation only if a GimpPlugIn exists, use the old
code otherwise. Add a GDestroyNotify for the callabck's user_data.
2019-08-04 16:08:49 +02:00
Piotr Drąg
224af7e42f Update Polish translation 2019-08-04 15:19:28 +02:00
Øyvind Kolås
1661aab620 plug-ins: link dds plugins against libm 2019-08-04 14:22:09 +02:00
Michael Natterer
0f8747f10a app: avoid GIMP_TYPE_INT32 with gimp_pdb_execute_procedure_by_name()
Instead, use the actual enum type, G_TYPE_BOOLEAN, and G_TYPE_INT for
plain integers.
2019-08-04 14:10:42 +02:00
Michael Natterer
4962428440 app: relax GIMP_TYPE_INT32 checks in gimp_pdb_execute_procedure_by_name()
allow to pass booleans and enums to GIMP_TYPE_INT32 arguments. We
didn't have them in the old plug-in API, and being less strict allows
for booleans and enums being passed to old procedures transparently.
2019-08-04 13:57:05 +02:00
Jehan
c822350fb3 plug-ins: forgot to change run() signature to new API in python-console. 2019-08-04 12:22:01 +02:00
Michael Natterer
cc8fc0f90f libgimp*: add GI's .dirstamp to .gitigore 2019-08-03 19:50:17 +02:00
Michael Natterer
9549be2539 libgimp: kill the plug-in when old API is used while a GimpPlugIn exists 2019-08-03 18:20:28 +02:00
Niels De Graef
529aa743dd Start using g_object_notify_by_pspec()
`g_object_notify()` actually takes a global lock to look up the property
by its name, which means there is a performance hit (albeit tiny) every
time this function is called. For this reason, always try to use
`g_object_notify_by_pspec()` instead.
2019-08-03 15:57:10 +00:00
Michael Natterer
910828bf51 app: better error reporting in gimp_pdb_dialog_run_callback()
Display the error returned from trying to run the temp procedure.
2019-08-03 17:29:34 +02:00
Michael Natterer
38089bb61f libgmp: more useless includes 2019-08-03 17:12:27 +02:00
Michael Natterer
e705ab050e libgimp: remove useless includes 2019-08-03 17:11:30 +02:00
Michael Natterer
eaf5c792bf plug-ins: port pagecurl to the new API, to have a GUI plug-in to test 2019-08-03 17:10:33 +02:00