libgimpbase, libgimp, app: pass icon theme dir to plug-ins through config

Pass the current icon theme directory to plug-ins through the
config message, and add a gimp_icon_theme_dir() libgimp function
for retrieving it.  Note that we already have a similar
gimp_icon_get_theme_dir() PDB function, which we keep around, since
it can be used to dynamically query for the current icon dir,
unlike the former, and since it returns a dynamically-allocated
string, while the rest of the config-related functions return
statically allocated strings.

Use the new function, instead of gimp_get_icon_theme_dir(), in
gimp_ui_init().  This allows gimp_ui_init() to run without making
any PDB calls.  Consequently, this allows us to start plug-ins that
call gimp_ui_init() without entering the main loop in the main app.
We're going to add a plug-in that displays an interactive dialog
while the main app is blocking waiting for an operation to
complete, and we need to be able to start the plug-in without
entering the main loop, to avoid the possibility of arbitrary code
being executed during the wait.

Bump the protocol version.
This commit is contained in:
Ell
2018-05-29 11:20:54 -04:00
parent 82b979383c
commit de1084986c
9 changed files with 60 additions and 4 deletions

View File

@ -158,6 +158,10 @@
<title>Index of new symbols in GIMP 2.10</title>
<xi:include href="xml/api-index-2.10.xml"><xi:fallback /></xi:include>
</index>
<index role="2.10.4" id="api-index-2-10-4">
<title>Index of new symbols in GIMP 2.10.4</title>
<xi:include href="xml/api-index-2.10.4.xml"><xi:fallback /></xi:include>
</index>
<index role="deprecated" id="api-index-deprecated">
<title>Index of deprecated symbols</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>

View File

@ -45,6 +45,7 @@ gimp_wm_class
gimp_display_name
gimp_monitor_number
gimp_user_time
gimp_icon_theme_dir
gimp_get_progname
gimp_extension_enable
gimp_extension_ack