It is advised to use the more accurate g_io_channel_win32_new_fd() or
g_io_channel_win32_new_socket() because GLib can't differentiate between
file descriptors and sockets on Windows, which outputs a warning when
there is ambiguity.
(cherry picked from commit b8aabcac5c)
With this patch, there should be no more need to set PATH on Windows
before running GIMP.
This patch was tested by me and drawoc, but there could be some
undetected issues lurking. Revert if any problems arise.
(cherry picked from commit 60197c227d)
Change the gimp-image-get-name procedure to return the same string
as shown in the image title, and mention in its API docs that this
string is meant for annotating UI elements only.
(cherry picked from commit fea22c345c)
Add special export code for single top-level layers groups, other
cases should be mostly (not perfectly) handled by the export code
for layered images. Also, show the legacy export dialog when the
envorinment variable GIMP_INTERACTIVE_EXPORT is set, so export
changes can actually be tested and verified again.
(cherry picked from commit 8c79a070bb)
Fix my last commit and don't delete items in the foreach() callback,
because it's impossible to delete items in foreach(). Instead, collect
them in a list and remove them after foreach().
(cherry picked from commit c91fbd54ad)
Based on a patch from Hartmut Kuhse, make sure we don't remove
custom-added items from GimpItemComboBoxes when repopulating it.
(cherry picked from commit 73cb32c36e)
Simone found a better way than setting plug-in windows to UTILITY: simply
call the proper API, [NSApp arrangeInFront: nil].
(cherry picked from commit ab801970ca)
On OSX, set all transient plug-in windows to UTILITY, so they appear
on top of the image window, which is a bad hack. See the comment in
gimp_window_set_transient_for_display().
(cherry picked from commit 018fc32727)
If gimp_window_set_transient_for() fails (due to platform
restrictions), at least set GTK_WIN_POS_CENTER on the window, so it
gets centered on the monitor where the mouse is. This also removes the
need for OSX specific centering code in GimpDialog (bug 677776).
(cherry picked from commit 9e5ed1e70a)
On OSX, call [NSApp activateIgnoringOtherApps] when a plug-in dialog
is shown, so the plug-in process becomes the active app, and the
dialog gets focussed.
In order to avoid doing this in GimpDialog (which is also used in
the core), do it in gimp_ui_init() which all interactive plug-ins
call, and when gimp_temp_proc_run() is called interactively, to
catch repeated activation of an already running plug-in.
Also, set GimpDialog's initial position to GTK_WIN_POS_CENTER,
or they will pop up in the top left corner.
Inspired by patches from Simone Karin Lehmann and Daniel Sabo.
(cherry picked from commit 0b56aa0d13)
gimp_tile_put(): make sure we don't free libgimp's tile data twice in
the non-SHM case. I could never reproduce the bug, but I'm pretty sure
this fixes it. The change in gimpprotocol.c is just cleanup.
(cherry picked from commit 0a5059da51)
Remove the privately added GimpItemComboBox class instead, it confuses
the hell out of python. Instead, use g_object_set,get_data() to manage
the newly needed members, and code duplication.
(cherry picked from commit d6cf29e8c4)
Let image and item combo boxes connect to their own "changed" signal
first, and if the chosen image/item doesn't exist any longer,
reinitialize the combo box and select the first item instead.
Also fixes the type macros in gimpitemcombobox.h which were lacking a
')' and introduces an internal GimpItemComboBox class to hold the
common functionality.
(cherry picked from commit 4aaaa1a7fa)
Add all a tree's items to the combo boxes. Try to visualize the tree
structure by prepending '-'s, but that could probably need some
suggestions for improvement.
(cherry picked from commit b955205676)
Fix the docs, the function does what it's supposed to do. Passing
"0, -1" actually means "insert where the ui would insert" and is
supposed to be used when e.g. scripts create layers.
(cherry picked from commit e620eb8cef)
The context getters need PDB @outargs, not @inargs. This "API change"
is OK in stable because the API was totally unusable before this fix.
(cherry picked from commit 01dffdc276)
Apply heavily modified patch from Es Swartz which adds PDB API for
brush size, angle and aspect ratio, as well as a full interface for
ink. Changed to patch to add all procedures to the "context" group
instead of creating new PDB groups, properly use the new
GimpPDBContext APIs for paint options, and did some general cleanup.
(Warning, completely untested).
Make gimp_image_get_uri() and gimp_image_get_filename() behave as in
the GIMP 2.6 days. Add new functions gimp_image_get_xcf_uri(),
gimp_image_get_exported_uri() and gimp_image_get_imported_uri().