Commit Graph

41432 Commits

Author SHA1 Message Date
Ell 722f92d011 app: add GimpCancelable interface
... which provides a method for canceling an operation managed by
an object.
2018-05-27 13:17:24 -04:00
Ell 0fe066890e app: add GimpWaitable interface
... which provides methods for waiting on an object.
2018-05-27 13:17:24 -04:00
Jehan f3de5cd3fe tools: make gimptool memory-managed.
The code was basically leaking memory everywhere, and apparently on
purpose (according to a top comment). Even on short-lived process, not
properly managing memory is not a good habit, especially if we plan to
maintain a program for the long run.
So here are some fixes. I'm sure I must have missed some places (code
was a mess), and hopefully I broke nothing. But that's good for now. At
least it is somewhat sane code now.
2018-05-27 17:53:26 +02:00
Jehan 02fc818bf6 tools: do not segfault gimptool with source without extension.
Since commit 58fa382001, gimptool would accept source files with
non-standard extensions when using known C or C++ compilers. This would
include source with no extensions at all.
When this happens, do not try to set a pointer to a non-existing dot
separator to '\0'. That obviously segfaults.
2018-05-27 16:11:38 +02:00
Jehan 355676e7ae tools: clean tabs out of gimptool code. 2018-05-27 15:17:42 +02:00
張俊芝 58fa382001 Issue #1506: Adds support for source file names with special...
... characters and non-standard suffixes in gimptool
2018-05-27 15:05:52 +02:00
Ell e47ffefab2 libgimpcolor, libgimpconfig: remove deprecated interface functions
Remove the deprectaed foo_interface_get_type() functions, as per
the last two commits.
2018-05-27 05:59:39 -04:00
Ell 5f8643a6ee libgimpconfig: align GimpConfig with the rest of the interfaces
Unlike the last two commits, we don't port GimpConfig to
G_DEFINE_INTERFACE(), since we need to provide a base initializer
for it.  However, this commit aligns it with the rest of our
intefaces, by renaming gimp_config_interface_get_type() to
gimp_config_get_type(), and by performing class initialization for
the interface in a separate function than base initialization.

Keep gimp_config_interface_get_type() around as a deprecated
function, to maintain ABI compatibility.  It will be removed in a
separate commit in master, so that this commit can be easily
cherry-picked to gimp-2-10.
2018-05-27 05:56:34 -04:00
Ell 6b40c7f37a libgimpcolor: port all interfaces to G_DEFINE_INTERFACE()
... instead of calling g_type_register_static() ourselves.

Keep the old foo_interface_get_type() (replaced with
foo_get_type()) around as deprecated functions, to maintain ABI
compatibility.  They will be removed in a separate commit in
master, so that this commit can be easily cherry-picked to
gimp-2-10.
2018-05-27 05:56:34 -04:00
Ell cdd96059f7 app: port all interfaces to G_DEFINE_INTERFACE()
... instead of calling g_type_register_static() ourselves.
2018-05-27 05:56:34 -04:00
Ell 770634f84e app: code cleanup in GimpAsync 2018-05-27 05:56:34 -04:00
Piotr Drąg 3c2a81ebe6 Update Polish translation 2018-05-27 07:30:39 +02:00
Jehan c6a1b9bcde Update various places with old git repository URIs. 2018-05-27 04:19:18 +02:00
Jehan 0034bd44b3 build: update GNOME's git repository URI. 2018-05-27 04:09:47 +02:00
Jehan cfaa3103e7 app: output proper info message while fonts are loading.
To this effect, I add a variable to differentiate the "no-fonts on the
system" case from "fonts still loading".
2018-05-27 03:42:43 +02:00
Jehan 2484dec7d5 Issue #1211: Load fonts in background after startup.
Fonts should not be blocking startup as this provides a very bad
experience when people have a lot of fonts. This was experienced even
more on Windows where loading time are often excessively long.
We were already running font loading in a thread, yet were still
blocking startup (thread was only so that the loading status GUI could
get updated as a feedback). Now we will only start loading and proceed
directly to next steps.
While fonts are not loaded, the text tool will not be usable, yet all
other activities can be performed.
2018-05-27 02:13:33 +02:00
Jehan e5c08832cb Issue #1509 - GIMP master Git zoom in/out scrolling is reversed. 2018-05-26 22:41:54 +02:00
Jehan 67ae36f28e devel-docs: howto test high density. 2018-05-26 22:41:54 +02:00
Ell cdfcf5bdcf build: add Czech translation to the Windows installer 2018-05-26 14:55:47 -04:00
Ell 1e030ea9b5 po-windows-installer: technical fix to the Czech and Latvian translations
ender's name can't be encoded in the target encoding.  Use
alternative form.
2018-05-26 14:54:39 -04:00
Ell a0ce5c50b9 po-windows-installer: update LINGUAS 2018-05-26 14:45:02 -04:00
Ell a901c3c1f4 app: various GimpAsync improvements
Improve the formalism of a GimpAsync object being "sycned"
(previously referred to as the main thread being "synced" with the
async thread), by both providing a gimp_async_is_synced() function,
separate from gimp_async_is_stopped(), and by improving the type
and function descriptions.

Make sure all previously added callbacks have been called after a
call to gimp_async_wait[_until](), even if these functions are
called from within a callback.
2018-05-26 14:21:51 -04:00
Ell 85f67e196c app: add gimp_async_remove_callback()
... which removes a callback previously added through
gimp_async_add_callback().
2018-05-26 14:21:51 -04:00
Ell 3e92e7a449 app: use gimp_parallel_run_async() when loading fonts
Replace the custom threading code with a call to
gimp_parallel_run_async().  This simplifies the code, while
maintaining the current (blocking) behavior.  In the future, we
might build upon this to actually load the fonts in the background.
2018-05-26 11:33:32 -04:00
Ell 68c57548fd app: add gimp_async_wait_until()
... which is similar to gimp_async_wait(), taking an 'end_time'
parameter, controlling how long to wait for the async operation to
complete.
2018-05-26 11:32:34 -04:00
Michael Natterer baaa2cd7ca app: remove the entire dockable tab auto-sizing code
It was totally broken and could never work like this in GTK+ 3.x, and
if it can be reimplemented it should be started from scratch.
2018-05-26 16:28:58 +02:00
Michael Natterer abdd69640d app: in testing mode, load plug-ins without subdirectories again
Fixes the export test.
2018-05-26 14:45:59 +02:00
Michael Natterer a33fcfd43c app: fix gimp_test_utils_create_image_from_dialog()
to reliably press the OK button. Makes tests fail a bit later.
2018-05-26 12:40:53 +02:00
Ell 3673352c99 app: update tests for new GDK/GIMP API
This only makes the tests build, though they still fail.
2018-05-26 04:11:50 -04:00
Ell 367399e5c0 Issue #1490 - Crash when flattening an XCF file
The default stack size for new threads on MacOS is 512 KiB, making
our 512 KiB limit for stack-allocated buffers in
gimp_operation_layer_mode_real_process() too high.  Lower it to
256 KiB.
2018-05-25 20:34:46 -04:00
Michael Natterer 7990b1d57c libgimp: update all .def files 2018-05-25 22:13:33 +02:00
Michael Natterer 7d36b463dc po: update POTFILES.skip 2018-05-25 22:13:33 +02:00
Michael Schumacher 001a8d0c66 Require gtk+-3.0 in gimpui-3.0.pc
Fixes #1505
2018-05-25 21:55:45 +02:00
Michael Natterer d57ab7faf2 libgimpwidgets: move all GimpSizeEntry members to private 2018-05-25 19:15:00 +02:00
Ell deee2f14f5 app: fix progress text when applying shaped gradient through PDB
In gimp_drawable_gradient(), pass the undo description ("Gradient")
to gimp_gegl_apply_operation(), so that its displayed as the
progress text while rendering the gradient, even when applying a
shaped gradient, in which case we end the progress after
calculating the distance map, causing the progress text be NULL
during rendering unless explicitly set.
2018-05-25 12:44:04 -04:00
Ell ef43fc395c app: in GimpOperationGradient, use sampler for reading the distance buffer
... instead of using gegl_buffer_get() directly.  This is slightly
faster.
2018-05-25 12:20:48 -04:00
Jehan 6ebff7b3c5 configure, desktop: update the bug report URL.
Also make so that the metadata URL is taken from the one of the package
set with configure.
2018-05-25 15:05:47 +02:00
Ell 08ff2ac8c8 app: use gimp_gegl_buffer_copy() all over the place
Replace all uses of gegl_buffer_copy() in app/ with
gimp_gegl_buffer_copy(), added in the previous commit.
2018-05-25 08:12:27 -04:00
Ell fded25b38c app: add gimp_gegl_buffer_copy()
... which is a drop-in replacement for gegl_buffer_copy(),
parallelizing the copy operation when the source and destination
formats are different, requiring a conversion.
2018-05-25 08:12:27 -04:00
Ell 0e8b2b8f04 data: add new splash screen
Peppers are so 2.10!
2018-05-25 08:12:27 -04:00
Marek Cernocky 68e9a0427c Czech translation for Win installer 2018-05-25 11:28:57 +02:00
Michael Natterer 9d5fc680f8 app: actually set the color frames to "not dirty" after updating them 2018-05-24 01:52:29 +02:00
Michael Natterer 3e45427a36 app: fix drawing of GimpColorFrame's number
simply draw FG with alpha and remove the "number-color" style property.
2018-05-24 00:09:24 +02:00
Michael Natterer d9e016bd37 app: undeprecate gimpdisplayshell-scale.c and fix "unused variable" warning 2018-05-23 23:44:19 +02:00
Michael Natterer b33c6bc072 app: fix drawing of the canvas padding color
Remove all clipping hacks for drawing the canvas background, turns out
they never worked and we were relying on the pattern set on the
window, gah!

Also remove deprecated attempts to get a backgroud color and simply
don't show a color box in the menus for "from theme" cases.
2018-05-23 22:46:54 +02:00
Michael Natterer 47cdb11c44 app: fix setting a NULL image in gimp_menu_item_set_image()
hbox and label were attached to the wrong widget.
2018-05-23 22:24:08 +02:00
Bruce Cowan 9aaea2c96f Update British English translation 2018-05-23 19:43:08 +00:00
Michael Natterer d9b97f2923 app: get rid of the dnd_window in GimpPanedBox
and draw a drop highlight like gimp_highlight_widget() does.
2018-05-23 19:47:24 +02:00
Michael Natterer 4eb50f8a64 app: fix gimp_highlight_widget() to not draw multiple highlights 2018-05-23 19:45:03 +02:00
Michael Natterer ee7bab75fb app: use gdk_seat_ungrab() in gui_ungrab() 2018-05-23 19:19:51 +02:00