- Feb 22, 2018
-
-
-
Adapted to 2.8 by Dieter Verfaillie <dieterv@optionexplicit.be> Applying a slightly changed patch to accommodate for the code changes since the original patch had been made.
-
Applying a slightly changed patch to accommodate for the code changes since the original patch had been made.
-
Adapted to 2.8 by Dieter Verfaillie <dieterv@optionexplicit.be> Applying a slightly changed patch to accommodate for the code changes since the original patch had been made.
-
Adapted to 2.8 by Dieter Verfaillie <dieterv@optionexplicit.be> Applying a slightly changed patch to accommodate for the code changes since the original patch had been made.
-
Adapted to 2.8 by Dieter Verfaillie <dieterv@optionexplicit.be> Applying a slightly changed patch to accommodate for the code changes since the original patch had been made.
-
Adapted to 2.8 by Dieter Verfaillie <dieterv@optionexplicit.be> Applying a slightly changed patch to accommodate for the code changes since the original patch had been made.
-
Adapted to 2.8 by Dieter Verfaillie <dieterv@optionexplicit.be> Applying a slightly changed patch to accommodate for the code changes since the original patch had been made.
-
Adapted to 2.8 by Dieter Verfaillie <dieterv@optionexplicit.be> Applying a slightly changed patch to accommodate for the code changes since the original patch had been made.
-
Adapted to 2.8 by Dieter Verfaillie <dieterv@optionexplicit.be> Applying a slightly changed patch to accommodate for the code changes since the original patch had been made.
-
Adapted to 2.8 by Dieter Verfaillie <dieterv@optionexplicit.be> Applying a slightly changed patch to accommodate for the code changes since the original patch had been made.
-
Michael Natterer authored
-
Michael Natterer authored
Change the rest of the source accordingly.
-
Michael Natterer authored
-
Jehan authored
Instead of just checking for GDB/LLDB in path, use the new API which also checks for the appropriate version of GDB.
-
Jehan authored
It seems that older GDB (under version 7) are not handling very well some common debug information format, in particular DWARF > 3. Such version of GDB is usually not a problem since it is quite old (more than 10 years old, it would seem) so you don't see it anymore on any modern GNU/Linux distribution. On FreeBSD on the other hand, it is still available (probably for license reasons) and even installed by default! As a consequence, it makes debugging fail, even though LLDB is also installed by default. That is even more of a problem because it would seem that GIMP is killed (most likely by FreeBSD kernel according to the reporter tests) as a side-effect of GDB failing, which is seriously bad, in particular since we also use the debug dialog for non-fatal errors (which could therefore end up killing GIMP as side effect of a bad GDB!). So I add some GDB version check. I implement this without any dynamic memory management, as usual, since this needs to happen also during crash handling where the state is unstable and prone to memory allocation failure. I also add gimp_utils_backtrace_available() public API which can be used by the Preferences.
-
- Feb 21, 2018
-
-
Similarly to other layer setter functions, don't push undo steps if the layer is not yet attached
-
Michael Natterer authored
-
Michael Natterer authored
This commit is to be reverted when the fix for https://github.com/hughsie/appstream-glib/issues/222 has been released and we can depend on it.
-
Simon Budig authored
-
Michael Natterer authored
gimp_data_factory_load_data(): use a GBufferedInputStream so we don't end up reading files byte-by-byte in the worst case.
-
Jehan authored
It was reported that several brushes added in 1998 may have problematic copyright with unclear/unknown licensing. And basically nobody knows anymore where these actually come from, with which authorship or origin, at least not for sure. It is even possible some come from commercial software. So let's at least get rid of the ones where the origin is the most doubtful. Thanks to Americo for discovering these issues.
-
Jehan authored
Having to sync the "valid" flag with the presence of a histogram is error-prone (cf. previous commit). Instead gimp_histogram_editor_validate() return value will just depend on the presence of the histogram. And "valid" becomes "recompute", i.e. a flag to request for "recomputation" of the histogram.
-
Jehan authored
When the histogram is freed, we need to set valid to FALSE, in order to force recreation as soon as needed. Otherwise we may hit some race condition of trying to work with a NULL histogram. For instance this happened when starting painting fast enough after switching the active image.
-
Jehan authored
gimp_spin_scale_set_scale_limits() needs double limit values. Using integer makes us vulnerable to rounding bugs.
-
Jehan authored
I had to shuffle a bit the order of initialization since we were creating a folder for the crash logs, as well as one for the backups a bit too early. So now I move errors_init() after configuration folder creation/migration, and I create both these folders in this function (especially since gimp_init_signal_handlers() is run even earlier). For this later reason, I also check for backtrace_file and backup_path being allocated in gimp_eek() since it is also possible for signals happening before errors_init(). In such a case, we will simply bypass the GUI error handler (terminal error handler still possible) and the backup (anyway there is nothing to backup at this point). I could also try to create these 2 directories at the last second, when needed. But since we are trying to do the strict minimum during crash handling, it is better to do whatever can be done earlier.
-
- Feb 19, 2018
-
-
- Feb 18, 2018
-
-
Piotr Drąg authored
-
Ell authored
Don't choke when calling gimp_tool_rectangle_set_constraint() while there's no active image, or while the active image has no active layer, which can happen when updating the default aspect ratio of the crop tool. This would previously result in CRITICALs. Additionally, use weak pointers for the crop tool's current_image and current_layer members, to avoid potential dangling pointers. While not currently necessary, this makes the code less dependent on the exact order of events.
-
Alexandre Prokoudine authored
-
Øyvind "pippin" Kolås authored
-
Alexandre Prokoudine authored
-
- Feb 17, 2018
-
-
Ell authored
Simplify the action history sorting logic introduced in the previous commit, and fix a few issues in its implementation.
-
Ell authored
The current sorting logic of actions in the history is essentially linear, so that when an action is activated it moves up one place in the history. This has the undesirable effect that actions take very long to climb up the history list, as well as that actions at the top of the list can change their relative order too frequently. Improve the sorting logic, such that items climb up the list faster, while top items retain their relative position longer. See the comment at the top of the diff for the actual logic.
-
Ell authored
A hidden feature of the action search dialog, is that actions can be matched based on their label's initials. E.g., "gb" will match "Gaussian blur". While very convenient, this feature is currently limited to two-letter initialisms. Extend initialism-based search, by matching arbitrarily-long initialisms, and by allowing partial matches (with lesser priority.)
-
Ell authored
The undo/redo actions' label changes based on context, and may interfere with the labels of more relevant, but less frequent, actions. For example, after applying filter Foo, the label of edit-undo becomes "Undo Foo", so searching for "Foo" results in both edit-undo, and the action referring to the filter, with edit-undo most likely appearing at the top of the list due to its frequency. Excluding the undo/redo actions from the history is a simple, if suboptimal, way to fix this.
-
Ell authored
... and rename gimp_action_history_excluded_action() to gimp_action_history_is_excluded_action(). is_blacklisted_action() determines whether an action should be excluded from *both* the history and the search results, while is_excluded_action() determines if an action should be excluded only from the history. This eliminates some redundancy across gimpaction-history and action-search-dialog.
-
Ell authored
-
Alexandre Prokoudine authored
-
- Feb 15, 2018
-
-
Ell authored
... current aspect ratio When updating the default aspect ratio of a widget-less crop tool, construct a temporary GimpToolRectangle widget, so that we can use it to call gimp_tool_rectangle_constraint_size_set() and pick the correct ratio, instead of just bailing. When halting the crop tool, update the default aspect ratio, which now does the right thing, as per the above. Update the default aspect ratio upon changes to the active layer of the current image, and to the size of the active layer, which affect the default aspect ratio when "current layer only" is toggled.
-