Commit Graph

4103 Commits

Author SHA1 Message Date
3ec245a991 app: add opacity and paint_mode to gimp_edit_fill[_full]()
and use it instead of bucket-fill in the non-seed-fill case.
2012-05-02 17:46:01 +02:00
ffeb3515db app: add gimp_edit_fill_full() which takes color and pattern
and use it for dropping colors and patterns on the display
and on the layers dialog, instead of using the overkill
gimp_drawable_bucket_fill_full().
2012-05-02 17:46:01 +02:00
fbf11ba84f app: don't call gimp_layer_get_edit_mask() when the layer has no mask 2012-05-02 17:45:57 +02:00
69b2aa880f app: add gimp_pattern_create_buffer() and use it in gimp_edit_fill_internal() 2012-05-02 17:45:56 +02:00
88388467cc app: move the layer mask show, edit, apply API from GimpLayerMask to GimpLayer
because it would require really evil hacks to honor these properties
in the gegl projection if they were on the mask, and because they
actually belong to the layer.
2012-05-02 17:45:56 +02:00
169221bc51 app: replace some color_region() and pattern_region() by GEGL code 2012-05-02 17:45:52 +02:00
d771249466 app: completely port GimpBuffer to using GeglBuffer not TileManager 2012-05-02 17:45:47 +02:00
90706f8427 app: make sure explicitly saved color tool settings don't end up in "recent"
reset the "time" property after applying the stored setting, otherwise
explicitly storing the config as setting will also copy the time, and
the stored object will be considered to be among the automatically
stored recently used settings
2012-04-02 11:50:47 +02:00
7cbd1c5739 app: don't dereference a NULL session_info->p->factory_entry 2012-03-30 09:55:45 +02:00
a29c096614 app: initialize also GimpRGB's alpha component
Conditional jump or move depends on uninitialised value(s)
==29000==    at 0x4C33CBC: gimp_color_area_set_color (gimp/libgimpwidgets/gimpcolorarea.c:425)
==29000==    by 0x4C3505B: gimp_color_button_set_color (gimp/libgimpwidgets/gimpcolorbutton.c:642)
==29000==    by 0x5DA5BE: gimp_text_style_editor_set_color (gimp/app/widgets/gimptextstyleeditor.c:700)
==29000==    by 0x5DB0D4: gimp_text_style_editor_update_idle (gimp/app/widgets/gimptextstyleeditor.c:1090)
==29000==    by 0x57E9E95: gdk_threads_dispatch (gtk-2-24/gdk/gdk.c:512)

Steps to reproduce:

<Ctrl>N <Enter> T
click on canvas
type something

select the text entered and change its color using
the color button from the text style editor
2012-03-13 20:44:47 +01:00
a80a63443d app: initialize a GtkTreeIter
Conditional jump or move depends on uninitialised value(s)
==28871==    at 0x4A09863: bcmp (/builddir/build/BUILD/valgrind-3.6.1/memcheck/mc_replace_strmem.c:692)
==28871==    by 0x4C487C7: gimp_int_store_row_inserted (gimp/libgimpwidgets/gimpintstore.c:220)
==28871==    by 0x8342B03: g_closure_invoke (glib/gobject/gclosure.c:774)
==28871==    by 0x8353129: signal_emit_unlocked_R (glib/gobject/gsignal.c:3232)
==28871==    by 0x835A72A: g_signal_emit_valist (glib/gobject/gsignal.c:3033)
==28871==    by 0x835A8F1: g_signal_emit (glib/gobject/gsignal.c:3090)
==28871==    by 0x529EF63: gtk_list_store_insert (gtk-2-24/gtk/gtkliststore.c:1039)
==28871==    by 0x5CEB6B: gimp_stroke_editor_constructed (gimp/app/widgets/gimpstrokeeditor.c:229)
==28871==    by 0x8348222: g_object_newv (glib/gobject/gobject.c:1731)
==28871==    by 0x8348565: g_object_new_valist (glib/gobject/gobject.c:1820)
==28871==    by 0x8348873: g_object_new (glib/gobject/gobject.c:1535)
==28871==    by 0x5CEE74: gimp_stroke_editor_new (gimp/app/widgets/gimpstrokeeditor.c:320)
==28871==    by 0x4C3842: stroke_dialog_new (gimp/app/dialogs/stroke-dialog.c:176)
==28871==    by 0x4A3B5C: select_stroke_cmd_callback (gimp/app/actions/select-commands.c:349)

Steps to reproduce:

On a 64 bits machine run gimp-2.7

<Ctrl>N <Enter> <Ctrl>A
and activate <Edit>/Stroke Selection... (<Alt>E S)
2012-03-13 20:44:47 +01:00
b1483144cf app: remove unused variable in GimpSpinScale 2012-02-22 23:38:35 +01:00
aadfc82f11 app: various GimpSpinScale fixes
- make it respect RTL mode better, something is still weird though
- don't fiddle with the entry's inner_border
- place label and number on the same line
- adjust size_request to respect the label's requisition
- set the label to ellipsize
2012-02-22 22:48:42 +01:00
fbd746f95a app: don't rely on gtk_container_remove() to always destroy the child
Instead, either destroy the child instead of removing it, or remove
*and* destroy it in cases where the remove() api on the "parent"
doesn't match GTK+'s parent/child relation (like with all our dock
widgets). We can't rely on remove() to implicitly detstroy, because
there might be arbitrary other code holding references, such as
accessibility modules and whatnot. Most likely fixes unclear crashes
in accessibility code and other crashes we blamed GTK+ for.
2012-02-21 00:36:18 +01:00
43b6d6922c Bug 615227 - Undo while scaling layer freezes GIMP
Don't run into an infinite loop when the undo editor is used
while we're in the middle of an undo group.
2012-02-13 08:17:47 +01:00
90065a517e app: try harder to show filename and file size in Image -> Properties
by using gimp_image_get_any_uri() instead of get_filename() or get_uri().
2012-02-11 22:54:06 +01:00
af6b840aaf Bug 666561 - Clicking on the expand icon next to a group expands the wrong group
gimp_item_tree_view_row_expanded(): only select the active item if its
immediate parent was expanded, not if *any* group was expanded.
2012-02-09 20:38:46 +01:00
b994280473 Bug 668814: Cannot move cursor right in on canvas editor
One possible way to decrease the incompatibilities
between letter spacing in a tagged gtk_text_buffer
and in an equivalent pango_layout

Remove also a valgrind reported invalid write in
gimptextbuffer.c
2012-02-09 12:36:43 +01:00
2414301799 Review the last few commits and apply some style fanaticism
some completely unrelated,
2012-02-07 20:36:55 +01:00
39368a410d plugged memory leaks 2012-02-07 17:32:02 +01:00
79d997457b app: set GimpToolPresetEditor insensitive for non-editable presets 2012-02-06 22:03:30 +01:00
f72806bbcd app: fix GimpContainerTreeView name editing so it always works the same
no matter how editing was started (double click, keyboard activate, F2).

Connect to "editing-started" of the name cell and set the object's
real name directly on the GtkCellEditable, instead of trying to hack
around in the tree store before the actual editing starts.
2012-02-06 19:28:37 +01:00
947ea55a07 app: chain up last in gimp_container_tree_view_set_context()
so all the view renderers already have the right context when the
parent interface code selects the right item, which in turn requires
the context to be already set on the renderers. Fixes warnings when
dragging dockables around.
2012-02-06 01:33:01 +01:00
c585737f3a app: Add import type as third preference on Export 2012-02-02 21:17:35 +02:00
17f1f2a2fa app: use G_N_ELEMENTS() and remove GIMP_N_TAB_STYLE_CANDIDATES define 2012-02-01 20:38:10 +01:00
d11f9d7dbf Bug 664885 - Open 'Document History' --> always a additional history tab appears
Really find a *widget* in gimp_dialog_factory_find_widget(), don't
just return the first found session info's widget. It's perfectly fine
for a session info to have a NULL widget, if that dialog is not
currently open.
2012-01-31 22:00:17 +01:00
cac442c2df app: port dockable showing in widgets/ to GimpWindowStrategy 2012-01-30 23:52:59 +01:00
0a68527edc app: move the GimpWindowStrategy interface from display/ to widgets/ 2012-01-30 23:33:21 +01:00
92693f40b6 app: allow to pass an identifier list to gimp_dialog_factory_find_widget()
Which is right for all external users, GimpDialogFactory itself splits
the identifier list itself if needed before finding a specific dialog.
2012-01-30 22:51:51 +01:00
569b262e2d app: various tool options and tool preset fixes
- move the code that sets the tool options' "defined" and "serialize"
  properties from GimpToolInto to GimpToolOptions so they are always
  set correctly.
- make GimpToolOptions fix broken serialized NULL tools automatically.
- make sure a GimpToolPreset's tool options always has a tool set. If all
  fails, set a NULL tool explicitly and let the logic in GimpToolOptions
  find the right tool.
- set GimpToolPreset's "use" booleans to FALSE for context properties
  that have no effect on the tool.
- set GimpToolPresetEditor's toggle insensitive for these properties.
2012-01-23 22:40:49 +01:00
313430b738 app: move all GimpToolPresetEditor members to a private struct 2012-01-23 00:56:21 +01:00
f593175924 app: GimpCurveView: clean up code and better axis label positioning 2012-01-15 22:54:57 +01:00
c00457382e app: GimpColorFrame: no need to cairo_fill() after pango_cairo_show_layout() 2012-01-15 22:48:55 +01:00
8d0016023b app: fix get/set mixup in curve view 2012-01-15 21:37:30 +02:00
3f7ee00469 app: Add axis lables to dynamics curves and curveview 2012-01-15 02:56:35 +02:00
4ac7bcc624 app: Add 'create_containers' to gimp_dialog_factory_dialog_new_internal()
Because to fix bug 664885 we will want to pass context = NULL while
still not having any containers created for us.
2012-01-10 21:13:08 +01:00
40d98b79cb app: A '|' in identifiers is not a special case 2012-01-10 20:51:08 +01:00
64d2dc122a app: Add and use gimp_dialog_factory_find_widget() 2012-01-10 19:47:52 +01:00
056e09a6cb Remove the makefile.msc build system, it is unmaintained since 2008 2011-12-16 15:53:56 +01:00
42a5f8f834 Bug 666065 - "you can drop dockable dialog" of the toolbox
Set the height request of the "You can drop dockable dialogs here"
label to 0, so the toolbox can be properly resized to its minimum
again.
2011-12-16 09:40:54 +01:00
a25bfabc43 app: properly memory manage GimpColorSelectorPalette's context
so we don't access garbage pointers when the widget is moved between
docks, like when toggling SWM.
2011-12-11 02:44:14 +01:00
180cb656ae Remove more gdk_pointer_grab() where they are not strictly needed
and replace them by gtk_grab_add()/remove().
2011-12-10 21:51:05 +01:00
01f92a3b48 app: get rid of server grabs for almost all canvas interaction
Because it's generally the right thing to do, and server grabs broke
badly with input devices / client side windows.

gimpdisplayshell-grab.c: change logic to only server-grab if an event
is passed to the pointer grab/ungrab functions, but always use
gtk_grab_add/remove() which is sufficient in most cases.

gimpdisplayshell-tool-events.c: have the grab functions grab the
server only for space-bar scrolling and do all tool interaction,
including ruler clicks, with gtk_grab_add/remove(). Refactor things
a bit to also use the grab API for button-2 scrolling.

gimpdeviceinfo-coords.c: transform the event's coords to the canvas'
coordinate system, they might come from a ruler now.

This fixes the following bugs:

Bug 645315 - gimp_display_shell_pointer_grab: gdk_pointer_grab failed...
Bug 644351 - Gimp misses some strokes especially when drawing fast
Bug 645747 - Gimp is now unusable on xfce4
2011-12-09 20:20:02 +01:00
dcf84f3910 app: set the correct resolution on the text style overlay's size entry 2011-12-03 23:56:51 +01:00
af0570372d app: GimpTagEntry formatting cleanup, no logic changes 2011-12-01 20:24:37 +01:00
1d9ca9cdca app: remove gtk_check_version(2,24,7) code from GimpActionGroup 2011-12-01 12:07:43 +01:00
9781aa65ea Bug 658467 - Replace g_format_size_for_display() by g_format_size()
Use g_format_size() instead of g_format_size_for_display() because
the latter is deprecated.
2011-11-30 23:37:55 +01:00
9cd3e005aa app: fix the PDB GimpBrushSelect dialog
It was warning like crazy and not showing opacity and paint mode
widgets.
2011-11-25 13:57:28 +01:00
c34348a2cd app: silence a harmless Gimp-Core-CRITICAL
Dragging a channel preview (not RGBA) over a layer preview
GIMP used to print:

Gimp-Core-CRITICAL **: gimp_container_get_child_index: ...
           assertion `GIMP_IS_CONTAINER (container)' failed
2011-11-18 18:36:20 +01:00
ca17c91d9e app: don't unparent the menu_button in gimp_dockbook_dispose()
because we don't own it. GTK+ failing to destroy it is no reason, this
needs to be fixed in GtkNotebook.
2011-11-17 00:17:46 +01:00