ChangeLog 45.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
2008-10-25  Michael Natterer  <mitch@gimp.org>

	More merging from SOC 2006's vector layer branch:

	* app/core/gimpitem.[ch]: add "gboolean push_undo" to
	GimpItem::stroke().

	* app/core/gimpdrawable-stroke.[ch]
	* app/paint/gimppaintcore-stroke.[ch]
	* app/paint/gimppaintcore.[ch] (gimp_paint_core_finish): add
	"push_undo" parameters here too.

	* app/actions/select-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimpchannel.c
	* app/core/gimpselection.c
	* app/dialogs/stroke-dialog.c
	* app/tools/gimppainttool.c
	* app/vectors/gimpvectors.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paint_tools.pdb
	* tools/pdbgen/pdb/paths.pdb: pass TRUE all over the place.

	* app/pdb/edit-cmds.c
	* app/pdb/paint-tools-cmds.c
	* app/pdb/paths-cmds.c: regenerated.

28 29 30 31 32 33 34 35 36 37 38
2008-10-25  Martin Nordholts  <martinn@svn.gnome.org>

	* app/gegl/gimpoperationlayermode.c: Make layer modes work on
	premultiplied data. This makes compositing 40% faster on my test
	image with 10 interlaced Normal and Addition mode layers.

	* app/gegl/gimpoperationadditionmode.c: Switch to the
	premultiplied algorithm and remove the experimental ones. The new
	Addition mode has two important differences over the legacy
	Addition mode:

Martin Nordholts's avatar
Martin Nordholts committed
39 40 41
	 o Addition mode now really is commutative as the GIMP
	   documentation says (this isn't the case for the legacy Addition
	   mode implementation).
42

Martin Nordholts's avatar
Martin Nordholts committed
43 44 45
	 o Layers in Addition mode are just as opaque as Normal
	   layers. That is, their effect on the composite alpha channel is
	   the same. For discussion, refer to bug #387449.
46

Michael Natterer's avatar
Michael Natterer committed
47 48 49 50
2008-10-25  Michael Natterer  <mitch@gimp.org>

	* app/paint/gimppaintoptions.h: formatting.

51 52 53 54 55 56
2008-10-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.c (gimp_context_parent_notify): bail out if
	the notification is not about one of our own properties
	(but from a subclass).

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
2008-10-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpstrokeoptions.[ch]: add "gboolean use_context_color"
	parameter to gimp_stroke_options_new() and set the passed context
	as parent of the new options only if it's TRUE. Also fixed the
	GimpConfig::duplicate() implementation to really duplicate the
	object and not just return an object containing default values.

	* app/core/gimpfilloptions.[ch]: add gimp_fill_options_new().

	* app/actions/select-commands.c
	* app/dialogs/stroke-dialog.c
	* app/actions/vectors-commands.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paths.pdb: pass TRUE to gimp_stroke_options_new().

	* app/pdb/edit-cmds.c
	* app/pdb/paths-cmds.c: regenerated.

76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
2008-10-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpfilloptions.[ch]: add non-serializable properties
	pattern-view-type and pattern-view-size which are used only by the
	new UI below.

	* app/widgets/gimpfilleditor.[ch]: added boolean edit-context
	property. If TRUE, add widgets to edit the context's foreground and
	pattern. Add "edit_context" parameter to gimp_fill_editor_new().

	* app/widgets/gimpstrokeeditor.[ch]: add the same parameter here.

	* app/widgets/gimpwidgets-utils.[ch]: add gimp_enum_radio_box_add()
	which does the same as the existing gimp_enum_radio_frame_add().

	* app/dialogs/stroke-dialog.c: pass FALSE for "edit_context"
	because this dialog takes its foreground and pattern from the user
	context and doesn't need it's own GUI for them.

95 96 97 98 99 100 101 102 103 104
2008-10-24  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpfilleditor.[ch]: new widget factored out of
	GimpStrokeEditor.

	* app/widgets/gimpstrokeeditor.[ch]: derive from GimpFillEditor
	and remove UI for the properties of GimpFillOptions.

105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
2008-10-24  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpstrokedesc.[ch]: remove this mis-engineered
	abstraction...

	* app/core/gimpstrokeoptions.[ch]: ...and add its properties and
	API here.

	* app/core/gimpitem.[ch]: GimpItem::stroke() take a
	GimpStrokeOptions instead of a GimpStrokeDesc.

	* app/core/gimpchannel.c
	* app/core/gimpselection.c
	* app/vectors/gimpvectors.c
	* app/actions/select-commands.c
	* app/actions/vectors-commands.c
	* app/dialogs/stroke-dialog.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paths.pdb: changed accordingly.

	* app/pdb/edit-cmds.c
	* app/pdb/paths-cmds.c: regenerated.

130 131 132 133 134 135 136
2008-10-24  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdialogfactory.c (gimp_dialog_factories_toggle):
	to be on the safe side, always show hidden dialogs when the Tab
	key is used. It should not be possible to get a Tab key-press
	while all displays are iconified, but you never know ...

137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
2008-10-24  Sven Neumann  <sven@gimp.org>

	Bug 556896 – Dialogs don't get minimized with single image window

	* app/widgets/gimpdialogfactory.[ch]: renamed the new methods to
	gimp_dialog_factories_{show|hide}_with_display().
	Remember if the dialogs were hidden using
	gimp_dialog_factories_hide_with_display() or using
	gimp_dialog_factories_toggle() and keep this into account when
	making them visible again. This ensures that dialogs that were
	hidden using the Tab key won't be shown when the image window is
	uniconified.

	* app/display/gimpdisplayshell.c
	(gimp_display_shell_window_state_event): changed accordingly.

153 154 155 156 157 158 159
2008-10-24  Michael Natterer  <mitch@gimp.org>

	Another merge from the vector layer branch:

	* app/core/gimpstrokedesc.c (gimp_stroke_desc_new): make sure
	each stroke desc always has GimpPaintInfo.

160 161 162 163 164 165 166 167
2008-10-24  Martin Nordholts  <martinn@svn.gnome.org>

	* app/gegl/gimpoperationadditionmode.c: For alpha compositing
	consistency, all layers should affect alpha in the same way
	independent of layer mode. Replace the compositing algorithm with
	a version without the flaws discovered so far in the previous
	ones. Don't use it yet though as it requires premultiplied data.

168 169 170 171 172 173
2008-10-24  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/scale-region.c (scale): use the inverse of the
	scale factor so that we can multiply instead of dividing in the
	loops.

174 175 176 177 178 179 180 181
2008-10-23  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch]: rename GimpStrokeStyle to GimpFillStyle.

	* app/core/gimpfilloptions.[ch]
	* app/core/gimpdrawable-stroke.c
	(gimp_drawable_stroke_scan_convert): changed accordingly.

182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
2008-10-23  Michael Natterer  <mitch@gimp.org>

	Merge a part of SOC 2006's vector layer branch:

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpfilloptions.[ch]: new GimpContext subclass factored
	out of GimpStrokeOptions. Has "style" and "antialias" properties.

	* app/core/gimpstrokeoptions.[ch]: derive from GimpFillOptions
	and remove said properties.

	* app/core/gimpdrawable-stroke.c
	(gimp_drawable_stroke_scan_convert): changed accordingly.

197 198 199 200 201 202 203
2008-10-23  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginprocframe.c
	(gimp_plug_in_proc_frame_dispose): set proc_frame->procedure to
	NULL *after* calling gimp_plug_in_cleanup(). Fixes the crash on
	windows in bug #557061 (but not the bug).

204 205 206 207 208 209 210 211 212
2008-10-23  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.h: don't #include
	"libgimpwidgets/gimpwidgets.h".

	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-scale.c
	* app/tools/gimpeditselectiontool.c: include it here.

213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228
2008-10-23  Sven Neumann  <sven@gimp.org>

	Bug 556896 – Dialogs don't get minimized with single image window

	* app/display/gimpdisplay-foreach.[ch]: added utility function to
	get the number of visible (not withdrawn or iconified) displays.

	* app/widgets/gimpdialogfactory.[ch]: added functions to hide and
	show the dock windows. Changed gimp_dialog_factories_toggle() to
	use the new functions.

	* app/display/gimpdisplayshell.c
	(gimp_display_shell_window_state_event): hide the docks if the
	last display is iconified. Unhide them if a display is
	uniconified. Probably needs more work ...

229 230 231 232 233 234 235 236
2008-10-23  Sven Neumann  <sven@gimp.org>

	* configure.in: removed check for Carbon and added a test for the
	target OS being Darwin instead.

	* app/config/gimpguiconfig.c: use PLATFORM_OSX instead of
	HAVE_CARBON to determine the default "web-browser" command.

237 238 239 240 241 242
2008-10-22  Sven Neumann  <sven@gimp.org>

	* plug-ins/print/print-preview.c (print_preview_leave_notify_event):
	check the crossing mode and don't unset the "inside" flag when the
	event is caused by a pointer grab/ungrab.

243 244 245 246 247 248 249 250
2008-10-22  Martin Nordholts  <martinn@svn.gnome.org>

	Bug 556804 – Zoom drop down doesn't update

	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-callbacks.c: Fix calls to
	gimp_display_shell_scaled() when Resize window on zoom is enabled.

251 252 253 254 255 256 257 258 259 260
2008-10-22  Sven Neumann  <sven@gimp.org>

	Bug 524615 – Print not to scale

	* plug-ins/print/print.c: set the unit for dimensions on the Cairo
	context used for printing to GTK_UNIT_PIXELS.

	* plug-ins/print/print-draw-page.c (print_draw_page): changed the
	Cairo scale factors accordingly. Seems to fix printing on Windows.

261 262 263 264 265 266
2008-10-22  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpprogressbox.c: set box->progress to NULL in
	destroy() and check for progress being NULL in various places so
	we don't crash on API calls after the widget is destroyed.

267 268 269 270 271 272 273 274 275
2008-10-22  Sven Neumann  <sven@gimp.org>

	Bug 555246 – gimp crashes when a file is opened while a preview is
	generating

	* app/widgets/gimpthumbbox.c: set box->progress to NULL in
	destroy() and check for progress being NULL in various places so
	we don't crash on API calls after the widget is destroyed.

276 277 278 279 280 281 282 283
2008-10-22  Sven Neumann  <sven@gimp.org>

	Bug 556741 – Alpha layer automatically added (in psd format) but
	not desired

	* plug-ins/file-psd/psd-save.c: applied patch from Dennis Ranke
	that flattens the projection for indexed images.

284 285 286 287 288
2008-10-22  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c
	* app/plug-in/gimpplugin-progress.c: formatting.

289 290
2008-10-21  Michael Natterer  <mitch@gimp.org>

291 292 293
	Bug 555246 – gimp crashes when a file is opened while a preview is
	generating

294 295 296 297
	* app/widgets/gimpfiledialog.c: set dialog->progress to NULL in
	destroy() and check for progress being NULL in various places so
	we don't crash on API calls after the widget is destroyed.

Sven Neumann's avatar
Sven Neumann committed
298
2008-10-21  Sven Neumann  <sven@gimp.org>
299 300

	* app/tools/gimpgegltool.c (gimp_param_spec_duplicate):
Sven Neumann's avatar
Sven Neumann committed
301 302
	GEGL_IS_PARAM_SPEC_PATH() became GEGL_IS_PARAM_SPEC_FILE_PATH()
	in GEGL 0.0.21.
303

304 305 306 307 308 309
2008-10-21  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_dialog): for the
	combo-box, strip known prefixes from the GEGL operation names and
	use icons instead.

310 311 312 313 314 315 316
2008-10-21  Sven Neumann  <sven@gimp.org>

	* app/actions/file-commands.c (file_open_recent_cmd_callback): ref
	the GimpDisplay and GimpImageFile objects while holding a
	reference to them. Fixes a potential crash if GIMP is closed while
	the image is being loaded.

317 318 319 320 321 322 323 324
2008-10-20  Martin Nordholts  <martinn@svn.gnome.org>

	* menus/image-menu.xml.in
	* app/actions/debug-actions.c
	* app/actions/debug-commands.c: Create dump and non-dump
	groups. Also added a tooltip to the Benchmark Projection action
	and removed report of number of layers.

325 326 327 328 329 330
2008-10-20  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimperrorconsole.c (gimp_error_console_init): don't
	make the font size even smaller. We already use a smaller font in
	the dock windows.

331 332 333 334 335 336 337
2008-10-20  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpgradienteditor.c (view_events) (control_events):
	use pointer coordinates from the passed event instead of calling
	gtk_widget_get_pointer().

2008-10-20  Sven Neumann  <sven@gimp.org>
338 339 340 341 342

	* plug-ins/common/bump-map.c (dialog_preview_events): use pointer
	coordinates from the passed event instead of calling
	gtk_widget_get_pointer().

343
2008-10-20  Sven Neumann  <sven@gimp.org>
344 345 346 347 348

	* plug-ins/common/iwarp.c: set the OK and Reset button insensitive
	until the user has defined a deformation to apply. Cleaned up
	event handling.

David Odin's avatar
David Odin committed
349 350 351 352
2008-10-20  David Odin  <dindinx@gimp.org>

	* plug-ins/common/*.c: untabified

353 354 355 356 357 358 359
2008-10-19  Michael Natterer  <mitch@gimp.org>

	* app/actions/debug-actions.c
	* app/actions/debug-commands.[ch]
	* menus/image-menu.xml.in: rename
	debug-dump-projection-benchmarking to debug-benchmark-projection.

Sven Neumann's avatar
Sven Neumann committed
360 361 362 363
2008-10-19  Sven Neumann  <sven@gimp.org>

	* plug-ins/metadata/xmp-parse.c: use GSlice to allocate structs.

364 365 366 367
2008-10-19  Sven Neumann  <sven@gimp.org>

	* plug-ins/metadata/xmp-encode.c
	* plug-ins/metadata/xmp-parse.c
Sven Neumann's avatar
Sven Neumann committed
368

369 370 371 372
	* plug-ins/metadata/metadata.c
	* plug-ins/metadata/xmpdump.c: removal of unused includes and
	other minor cleanups.

373 374 375 376 377
2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>

	* app/gegl/gimpoperationadditionmode.c: Remove local channel
	offset defines.

378 379 380 381 382 383
2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>

	* app/gegl/gimpoperation*mode.c: Refer to the input as 'in'
	instead of 'src', the layer as 'layer' instead of 'aux', and the
	result as 'out' instead of 'dest'.

384 385 386
2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>

	* app/base/base-types.h: Rename the convenient channel offset
Martin Nordholts's avatar
Martin Nordholts committed
387
	defines from CHANNEL_PIX to CHANNEL as this increases readability.
388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422

	* app/base/color-balance.c
	* app/base/colorize.c
	* app/base/desaturate.c
	* app/base/hue-saturation.c
	* app/base/siox.c
	* app/base/threshold.c

	* app/core/gimp-edit.c
	* app/core/gimp-transform-region.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-convert.c
	* app/core/gimpdrawable-stroke.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage.c
	* app/core/gimppalette-import.c
	* app/core/gimppickable.c

	* app/gegl/gimpoperation*mode.c
	* app/gegl/gimpoperationcolorbalance.c
	* app/gegl/gimpoperationcolorize.c
	* app/gegl/gimpoperationhuesaturation.c
	* app/gegl/gimpoperationlevels.c
	* app/gegl/gimpoperationposterize.c
	* app/gegl/gimpoperationthreshold.c

	* app/paint-funcs/subsample-region.c

	* app/paint/gimpclone.c
	* app/paint/gimppaintbrush.c

	* app/widgets/gimpviewrenderer.c: Adapt.

423 424 425 426 427 428 429 430 431
2008-10-19  Sven Neumann  <sven@gimp.org>

	Bug 493778 – metadata plug-in crashes on some images

	* plug-ins/metadata/xmp-encode.c (gen_property): introduced a
	utility function to create XML elements. Deal gracefully with NULL
	and empty values. Does not fix the crash, but fixes a warning that
	has been reported in the same bug report.

432 433 434 435 436
2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>

	* app/base/base-types.h: There is nothing magic or ugly about the
	convenient defines, remove comments saying so.

437 438 439 440 441 442 443 444 445 446
2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>

	* app/gegl/gimpoperationadditionmode.c: Refer to the input as 'in'
	instead of 'src', the layer as 'layer' instead of 'aux', and the
	result as 'out' instead of 'dest'. The old terminology clashes
	with at least the SVG 1.2 compositing terminology [1] and there is
	no reason for creating confusion.

	[1] http://www.w3.org/TR/2004/WD-SVG12-20041027/rendering.html

447 448 449 450 451 452
2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>

	* app/gegl/gimpoperationadditionmode.c: Use local variants of
	channel offset defines, namely RED instead of RED_PIX etc, to
	increase readability.

453 454 455 456 457 458 459
2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>

	* app/actions/debug-commands.c
	(debug_dump_projection_benchmarking_cmd_callback): In addition to
	priting how long it takes to validate the projection, also print
	the number of layers in the image.

460 461 462 463
2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>

	* menus/image-menu.xml.in
	* app/actions/debug-actions.c
464
	* app/actions/debug-commands.[ch]: Added a 'Dump Projection
465 466 467
	Benchmarking' item to the Debug Menu so that we can test how
	different GEGL graph setups affect performance.

468 469 470 471 472 473 474 475 476
2008-10-19  Michael Natterer  <mitch@gimp.org>

	* configure.in: add -Wmissing-format-attribute to CFLAGS.

	* plug-ins/imagemap/imap_main.c
	* plug-ins/imagemap/imap_object.h
	* plug-ins/imagemap/imap_source.c
	* plug-ins/imagemap/imap_statusbar.h: add G_GNUC_PRINTF().

477 478 479 480
2008-10-18  Michael Natterer  <mitch@gimp.org>

	* configure.in: add -Wstrict-prototypes to CFLAGS.

481 482 483
2008-10-18  Sven Neumann  <sven@gimp.org>

	Applied patch from Alexia Death as attached to bug #471344:
Martin Nordholts's avatar
Martin Nordholts committed
484

485 486 487 488 489 490 491 492
	* app/core/Makefile.am
	* app/core/gimpcoords-interpolate.[ch]: new files with
	interpolation code taken from ...

	* app/vectors/gimpbezierstroke.c: ... here.

	* app/Makefile.am (AM_LDFLAGS): make it link.

493 494 495 496 497 498
2008-10-17  Sven Neumann  <sven@gimp.org>

	* plug-ins/file-psd/psd-save.c (xfwrite): fixed handling of empty
	strings. Don't quit silently, write an error message to stderr at
	least.

Sven Neumann's avatar
Sven Neumann committed
499
2008-10-17  Sven Neumann  <sven@gimp.org>
500 501 502 503 504

	* app/core/gimp.[ch]: added signal Gimp::image-opened to announce
	that an image has been loaded and a display was created for it.

	* app/file/file-open.c (file_open_with_proc_and_display): call
Sven Neumann's avatar
Sven Neumann committed
505
	gimp_image_opened() to emit the new signal.
506 507 508 509 510 511 512

	* app/gui/dbus-service.xml
	* app/gui/gimpdbusservice.[ch]: propagate the 'opened' signal to
	listeners of the "org.gimp.GIMP.UI" DBus service.

	* app/gui/gui-unique.c: formatting.

513 514
2008-10-16  Sven Neumann  <sven@gimp.org>

Sven Neumann's avatar
Sven Neumann committed
515 516 517 518 519 520 521 522 523
	* app/widgets/gimpviewrenderervectors.c
	(gimp_view_renderer_vectors_draw): just some cleanup.

2008-10-16  Sven Neumann  <sven@gimp.org>

	Bug 556248 – Scaling gives 'jagged' edges

	* app/paint-funcs/scale-region.c (scale): calculate pixel
	contributions based on pixel centers, not on pixel origins.
524

525
2008-10-15  Jakub Steiner <jimmac@gimp.org>
526

527 528
	* themes/Default/images/stock-gegl.svg:
	* themes/Default/images/stock-gegl-22.svg:
529 530
	* themes/Default/images/stock-gegl-22.png: remove white from the
	shadow to render correctly on dark backgrounds.
531

532 533 534 535 536 537 538
2008-10-15  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb.pl: reindent the list of PDB types and remove
	the unused and deprecated types "boundary" and "region". Also
	remove "status" because it is unused (and unneeded and
	unimplemented).

539 540 541 542 543
2008-10-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_operation_blacklisted):
	add the gegl: prefix here too.

544 545 546
	(gimp_gegl_tool_get_config): canonicalize the type name of the
	created config class or we crash.

547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564
2008-10-14  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/sanity.c: require GEGL >= 0.0.21.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-brightness-contrast.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpimage.c
	* app/core/gimpimagemap.c
	* app/core/gimplayer.c
	* app/gegl/gimp-gegl-utils.c
	* app/tools/gimpbrightnesscontrasttool.c: GEGL operation names
	are now "gegl:"-prefixed.

	* app/core/gimpimagemap.c: set the node's "dont-cache" property
	unconditionally.

565 566 567 568 569
2008-10-14  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdialogfactory.c (gimp_dialog_factory_add_dialog):
	let new docks appear at the pointer position.

570 571 572 573 574 575 576 577 578 579 580 581 582
2008-10-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: add a default implementation of
	GimpDrawable::get_node() which contains a layer mode node.
	Implement GimpItem::visibility_changed() and turn the node into a
	nop when the drawable is invisible. Added public function
	gimp_drawable_get_mode_node() so subclasses can plug stuff
	into its "aux" pad.

	* app/core/gimplayer.[ch]
	* app/core/gimpchannel.[ch]: changed accordingly (remove
	duplicated member and code that is now in GimpDrawable).

Michael Natterer's avatar
Michael Natterer committed
583
2008-10-14  Michael Natterer  <mitch@gimp.org>
584 585 586 587 588 589 590 591 592 593

	* app/gegl/gimp-gegl-utils.[ch]: remove function
	gimp_bpp_to_babl_format_linear() and add "gboolean linear"
	parameter to gimp_bpp_to_babl_format().

	* app/gegl/gimpoperationtilesink.c (process)
	* app/gegl/gimpoperationtilesource.c (prepare): simply pass
	self->linear to above changed function instead of selecting
	between the two old functions.

Sven Neumann's avatar
Sven Neumann committed
594 595 596 597
2008-10-14  Sven Neumann  <sven@gimp.org>

	* app/signals.c (gimp_init_signal_handlers): comments.

598 599 600
2008-10-13  Sven Neumann  <sven@gimp.org>

	Bug 556182 – Could you please explain a few strings [I18N]
Martin Nordholts's avatar
Martin Nordholts committed
601

602 603
	* plug-ins/pygimp/plug-ins/py-slice.py: added translator comments.

604 605 606 607 608 609 610
2008-10-13  Sven Neumann  <sven@gimp.org>

	* app/Makefile.am
	* app/signals.[ch]: new files with code split out of main.c.

	* app/main.c: changed accordingly.

611 612 613 614 615 616
2008-10-13  Martin Nordholts  <martinn@svn.gnome.org>

	* app/gegl/gimpoperationadditionmode.c
	(gimp_operation_addition_mode_process): Update with a new version
	that is the best known so far (maybe it's even correct?).

617 618 619 620 621 622
2008-10-13  Sven Neumann  <sven@gimp.org>

	Bug 547967 – Improve app/paint-funcs/ maintainability

	Applied patch from Luidnel Maignan that splits the legacy code for
	layer modes into new files.
Martin Nordholts's avatar
Martin Nordholts committed
623

624 625 626 627 628 629 630 631
	* app/paint-funcs/Makefile.am
	* app/paint-funcs/layer-modes.[ch]
	* app/paint-funcs/paint-funcs-utils.h: new files with code taken
	from ...

	* app/paint-funcs/paint-funcs-generic.h
	* app/paint-funcs/paint-funcs.c: ... these two files.

632 633 634 635 636 637
2008-10-13  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimp-gegl-utils.c (gimp_layer_mode_to_gegl_operation):
	remove warning because the missing layer modes are now
	"implemented", ha ha.

Michael Natterer's avatar
Michael Natterer committed
638 639 640 641 642 643 644
2008-10-12  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationpointcomposer.[ch]: renamed this class...

	* app/gegl/gimpoperationlayermode.[ch]: ...to this and add
	an own process() virtual function so we are free to hack even
	more badly in order to support legacy layer modes and proper
Sven Neumann's avatar
Sven Neumann committed
645
	ones which do meaningful things to alpha. Simply redirect
Michael Natterer's avatar
Michael Natterer committed
646 647 648 649 650 651 652 653 654
	GeglOperationPointComposer's compose() calls to our own vfunc
	for now.

	* app/gegl/gegl-types.h
	* app/gegl/Makefile.am: changed accordingly.

	* app/gegl/gimpoperation*mode.[ch]: changed parent class and
	implemented process() method accordingly.

655 656 657 658 659 660 661 662 663
2008-10-12  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationadditionmode.c: commit some #if 0'ed
	experimental code.

	* app/actions/view-commands.c (view_use_gegl_cmd_callback): use
	gimp_image_update(), simply exposing the shell doesn't reconstruct
	the projection.

664 665 666 667 668 669 670 671 672 673 674 675 676
2008-10-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpprojection.h: add a "use_gegl" boolean member.

	* app/core/gimpprojection-construct.c (gimp_projection_construct):
	use the boolean instead of hardcoding FALSE.

	* app/actions/view-actions.c
	* app/actions/view-commands.[ch]: add a "Use GEGL" action and
	callback which sets the boolean and exposes the display.

	* menus/image-menu.xml.in: add it to the "View" menu.

Martin Nordholts's avatar
Martin Nordholts committed
677 678 679 680 681
2008-10-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/gegl/gimpoperationadditionmode.c
	(gimp_operation_addition_mode_process): Implement this one.

682 683 684 685 686
2008-10-11  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimp-gegl-utils.c (gimp_layer_mode_to_gegl_operation):
	it's gimp-screen-node not gimp-screen_mode.

687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704
2008-10-11  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationpointcomposer.[ch]: add an empty abstract
	GeglOperationPointComposer subclass which can be used to hook in
	common debug or test or whatever code for below layer modes.

	* app/gegl/gimpoperation*mode.[ch]: add empty stubs of layer mode
	operations which do nothing but copying input to output.

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h: add them here and reordered things a bit.

	* app/gegl/gimp-gegl.c (gimp_gegl_init): register the new
	operations.

	* app/gegl/gimp-gegl-utils.c (gimp_layer_mode_to_gegl_operation):
	return the new operations.

Michael Natterer's avatar
Michael Natterer committed
705 706 707 708
2008-10-11  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationpointfilter.c: make it abstract.

709 710 711 712 713 714
2008-10-11  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimp-gegl-utils.c (gimp_layer_mode_to_gegl_operation):
	don't return non-existing layer modes (in fact, return "normal"
	for all modes).

715 716 717 718 719 720 721 722 723 724 725 726 727 728
2008-10-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.[ch]: add a projection node and
	implement GimpDrawable::get_node(). Reconfigure the node in
	visibility_changed(), set_color(), set_opacity() and
	set_show_masked().

	* app/core/gimpimage.c (gimp_image_get_graph): enable code that
	projects the channels stack on top of the layer stack.

	* app/core/gimpprojection-construct.c: remove the call to
	gimp_projection_construct_channels() from the GEGL code path. Also
	don't touch proj->construct_flag.

729 730 731 732 733
2008-10-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.c (gimp_layer_get_node): remove obsolete
	assertion and redundant cast.

734 735 736 737 738 739 740 741 742 743 744 745
2008-10-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawablestack.c: add GimpContainer::add()
	implementation, it's needed after all even though everybody uses
	gimp_container_insert() on drawable stacks.

	(gimp_drawable_stack_remove_node): no need to have a special check
	for newly added nodes, this can't happen any more now that we have
	an add() impl.

	(gimp_drawable_stack_get_graph): free the reverse list.

746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762
2008-10-11  Michael Natterer  <mitch@gimp.org>

	Fix old bug in the GimpContainer implementation that wasn't
	visible before the drawable stack completly b0rked when removing
	the second-last item:

	* app/core/gimpcontainer.c: add default implementations of ::add()
	and ::remove() and update container->num_children there instead of
	in the gimp_container_add() and _remove() wrapper functions.
	This way not only external callbacks connected to the "add" and
	"remove" signals are called with the correct num_children, also
	implemtations of ::add() and ::remove() in subclass have the right
	number available before/after upchaining. Add paranoia code to the
	wrapper functions which check if the subclass reall chains up.

	* app/core/gimplist.c: chain up in add() and remove().

Martin Nordholts's avatar
Martin Nordholts committed
763 764 765 766 767
2008-10-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/widgets/gimpdockseparator.c (gimp_dock_separator_drag_drop):
	Initialize 'index'.

768 769 770 771 772 773 774 775 776 777 778 779 780 781 782
2008-10-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/widgets/gimpdockseparator.c (gimp_dock_separator_new): Add a
	GtkAnchorType member to GimpDockSeparator that specifies where a
	dropped dockable shall be inserted.

	(gimp_dock_separator_drag_drop): Get rid of the ugly hack where
	the role of a given separator was based on its position as a child
	in its container. Simply decide what role the separator has by
	loooking at its anchor-member.

	* app/widgets/gimpdock.c (gimp_dock_init)
	(gimp_dock_add_book): Give the GimpDockSeparators their
	appropriate roles directly at their construction.

783 784 785 786 787 788 789
2008-10-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawablestack.c
	(gimp_drawable_stack_add_node)
	(gimp_drawable_stack_remove_node): simplify by getting rid of code
	duplication.

790 791 792 793 794 795 796 797 798 799 800
2008-10-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawablestack.[ch]: move all the code that creates
	a graph of drawables and all adding/removing/reordering code from
	GimpImage to this file.

	* app/core/gimpimage.c: remove the code here and use the layer
	stack's subgraph instead. Add #if 0'ed code that blends the
	channels on top of that but that doesn't work because channels
	don't provide nodes yet.

801 802 803 804 805 806 807 808 809 810 811
2008-10-10  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h
	* app/core/Makefile.am
	* app/core/gimpdrawablestack.[ch]: new GimpList subclass stub
	which will manage the subgraphs of layers and channels and is also
	the first step towards layer tree.

	* app/core/gimpimage.c (gimp_image_init): keep the layers and
	channels in GimpDrawableStacks instead of plain GimpLists.

812 813 814 815 816 817 818 819 820 821 822
2008-10-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: add virtual function
	GimpDrawable::get_node() which returns a node to be plugged into
	the projection.

	* app/core/gimplayer.[ch]: remove public get_node() api and
	implement the virtual function instead.

	* app/core/gimpimage.c: changed accordingly.

823 824 825 826 827 828
2008-10-10  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpmovetool.c (gimp_move_tool_button_release): flush
	the image after setting active items back from temporarily
	selected ones. Fixes menu item sensitivity.

829 830 831 832 833 834 835 836
2008-10-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.c: implement GimpItem::visibility-changed
	and turn the layer's node into a nop when the layer is invisible.

	(gimp_layer_get_node): connect the stuff to a nop here too for
	invisible layers.

837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869
2008-10-10  Michael Natterer  <mitch@gimp.org>

	Bug 554983 – Layers Projection using GEGL

	First projection using GEGL, wheeeee. Disabled by default because
	it doesn't work with floating selection (and will not, FS
	refactoring is in the queue).

	* app/core/gimpimage.[ch]: add gimp_image_get_graph() which
	returns a GeglNode representing the image's projection.

	(gimp_image_add_layer_node)
	(gimp_image_remove_layer_node): new utility functions to add and
	remove layer nodes to/from the graph.

	(gimp_image_add_layer)
	(gimp_image_remove_layer)
	(gimp_image_position_layer): call them to keep the graph up to date.

	* app/core/gimpdrawable.c (gimp_drawable_real_update): invalidate
	the source node.

	* app/core/gimpprojection.[ch]: keep a projection graph around and
	add gimp_projection_get_sink_node() which returns the node that
	writes to the projection tiles.

	* app/core/gimpprojection-construct.c: add
	gimp_projection_construct_gegl() which is a few-liner that uses a
	GeglProcessor to run the projection graph.

	(gimp_projection_construct): call the new function (disabled by
	default).

870 871 872 873 874 875 876 877 878 879 880
2008-10-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.[ch]: add new functions
	gimp_image_get_layer_by_index(), _channel_by_index() and
	_vectors_by_index().

	* app/core/gimpprojection-construct.c
	* app/display/gimpdisplayshell-layer-select.c
	* app/xcf/xcf-load.c: use them instead of looking the items up
	in image->container and casting the return value.

881 882 883 884 885 886 887 888 889 890 891
2008-10-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.c (gimp_layer_translate)
	(gimp_layer_get_node): the "shift" operation's x and y properties
	are doubles not ints.

	(gimp_layer_apply_mask): properly disconnect the mask node.

	(gimp_layer_set_opacity): the opacity node has a "value" property,
	not "opacity".

892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Address Bug 554983 – Layers Projection using GEGL

	* app/gegl/gimp-gegl-utils.[ch]: add (imcomplete) function
	gimp_layer_mode_to_gegl_operation() from bug #554983.

	* app/core/gimpdrawable.[ch]: add gimp_drawable_get_source_node()
	which returns a GimpOperationTileSource for the drawable's
	tiles.

	(gimp_drawable_real_set_tiles)
	(gimp_drawable_configure): set the node's "tiles" property.

	* app/core/gimplayer.[ch]: add gimp_layer_get_node() which returns
	a GeglNode with proxy "input" and "output" pads to be plugged
	into the projection graph. The node has children for opacity,
	mask, layer mode and layer offset.

	(gimp_layer_translate)
	(gimp_layer_add_mask)
	(gimp_layer_apply_mask)
	(gimp_layer_set_opacity)
	(gimp_layer_set_mode): reconfigure the respective nodes.

	* app/core/gimpimage.[ch]: keep a "graph" node around and destroy
	it in finalize(). Not even a stub, just a silly GEGL dependency.

920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
	had a GEGL dependency (they will have in the next commit, but I
	wanted to keep the commit separate).

	* app/dialogs/Makefile.am
	* app/file/Makefile.am
	* app/gui/Makefile.am
	* app/menus/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* app/text/Makefile.am
	* app/vectors/Makefile.am
	* app/widgets/Makefile.am
	* app/xcf/Makefile.am: add GEGL_CFLAGS.

	* app/actions/*.c
	* app/core/*.c
	* app/dialogs/*.c
	* app/display/*.c
	* app/file/*.c
	* app/gui/*.c
	* app/menus/*.c
	* app/paint/*.c
	* app/pdb/gimppdb-utils.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/*.c
	* app/text/*.c
	* app/tools/*.c
	* app/vectors/*.c
	* app/widgets/*.c
	* app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
	to all files which include a drawable subclass or gimpimage.h

	* tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
	in all generated files.

	* app/pdb/*-cmds.c: regenerated.

	* data/images/gimp-splash.png: the goat is still sleeping.
	By Aurore Derriennic.

963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Remove the last code duplication from the undo system (or if not
	the last then at least the most ugly):

	* app/core/gimpimage.[ch] (gimp_image_add_layer,channel,vectors):
	add "gboolean push_undo" parameter and add the item without
	touching undo if it's TRUE. Changed assertions from
	g_object_is_floating() to !gimp_item_is_attached() so they also
	take items from the undo stack and not only newly created ones.

	(gimp_image_remove_layer,channel,vectors): add "push_undo"
	parameter here too. Also add a "new_active" parameter where an
	optional new active item can be passed.

	(gimp_image_remove_layer,channel): these functions must not be
	called with push_undo=FALSE and a floating selection attached to
	the layer/channel. This can't currently happen; added warnings in
	case other code is changed and makes it happen anyway.

	* app/core/gimpchannelundo.c
	* app/core/gimplayerundo.c
	* app/vectors/gimpvectorsundo.c: use above functions to add/remove
	items instead of duplicating (parts of) their code. Pass
	push_undo=FALSE and the previously active item to the remove()
	functions.

	* app/actions/channels-commands.c
	* app/actions/edit-commands.c
	* app/actions/layers-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpchannelundo.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-quick-mask.c
	* app/core/gimpimage-scale.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayerundo.c
	* app/core/gimpselection.c
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-dnd.c
	* app/text/gimptext-compat.c
	* app/tools/gimptexttool.c
	* app/tools/gimpvectortool.c
	* app/vectors/gimpvectors-import.c
	* app/vectors/gimpvectorsundo.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimpvectorstreeview.c
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/paths.pdb: changed accordingly (pass TRUE
	unless it's a new image like when loading and XCF file).

	* app/pdb/image-cmds.c
	* app/pdb/paths-cmds.c: regenerated.

1024 1025 1026 1027 1028 1029 1030 1031 1032
2008-10-09  Sven Neumann  <sven@gimp.org>

	* data/images/Makefile.am
	* data/images/gimp-devel-logo.png: added 128x128 version of
	wilber-devel.png.

	* app/dialogs/about-dialog.c (about_dialog_load_logo): use
	gimp-devel-logo.png for unstable releasees.

1033 1034 1035
2008-10-09  Sven Neumann  <sven@gimp.org>

	Bug 555697 – build fails if configured with --without-libjpeg
Martin Nordholts's avatar
Martin Nordholts committed
1036

1037 1038 1039
	* plug-ins/Makefile.am: applied patch from Simon Zilliken that
	disables the build of the PSD plug-in if JPEG support is disabled.

1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Bug 134956 – Curves tool doesn't save free curves

	* app/core/gimpmarshal.list
	* app/widgets/gimpsettingsbox.[ch]: add signal "file-dialog-setup"
	and emit it when the export/import file chooser is fully
	constructed. Callbacks can then do additional things to the
	dialog, like adding custom buttons.

	* app/tools/gimpcurvestool.h
	* app/tools/gimplevelstool.h: add boolean member
	"export_old_format".

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c (gimp_*_tool_dialog): connect to
	the settings box' "file-dialog-setup".

	(gimp_*_tool_export_setup): new callback which adds a toggle to
	the file choosers that allows to export to the old format.
	Default saving the new format, we defaulted to the old one before.

	(gimp_*_tool_settings_export): check the "export_old_format"
	boolean and only save the cruft format if it is TRUE; chain up
	otherwise, which generically saves the new format.

	* app/tools/gimplevelstool.c (gimp_levels_tool_settings_import):
	add the same file format detection code as in the curves tool
	so it transparently loads old and new levels files.

Sven Neumann's avatar
Sven Neumann committed
1070
2008-10-09  Sven Neumann  <sven@gimp.org>
1071 1072 1073 1074

	* app/core/gimp-user-install.c (gimp_user_install_detect_old):
	use GIMP_MINOR_VERSION to determine the version to migrate from.

1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087
2008-10-09  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpcurvesconfig.c (gimp_curves_config_save_cruft):
	when saving a curve of type GIMP_CURVE_FREE, don't use
	gimp_curve_get_point() because that returns nothing for free
	curves.

	(gimp_curves_config_load_cruft): reset the curve before loading it.

	* app/core/gimpcurve.c (gimp_curve_get_point): instead of above
	mentioned uninitialized nonsense, at least return -1,-1 for free
	curves.

1088 1089 1090 1091 1092
2008-10-09  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* tools/Makefile.am: change 2.6 to 2.7 here too.

1093 1094 1095 1096 1097 1098 1099
2008-10-09  Sven Neumann  <sven@gimp.org>

	* README
	* NEWS
	* configure.in: bumped version to 2.7.0 after creating a stable
	gimp-2-6 branch.

Sven Neumann's avatar
Sven Neumann committed
1100 1101 1102 1103
2008-10-09  Sven Neumann  <sven@gimp.org>

	* Made 2.6.1 release.

1104 1105 1106 1107 1108 1109 1110
2008-10-08  Martin Nordholts  <martinn@svn.gnome.org>

	Bug 555587 – PSD file crashes PSD plug-in

	* plug-ins/file-psd/psd-load.c (add_merged_image): Handle
	img_a->alpha_names being NULL.

Michael Natterer's avatar
Michael Natterer committed
1111 1112 1113 1114
2008-10-08  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpruler.c: cosmetics.

1115 1116 1117 1118 1119 1120 1121
2008-10-08  Michael Natterer  <mitch@gimp.org>

	Quick hack I needed for debugging and which doesn't hurt:

	* tools/test-clipboard.c (test_clipboard_paste): allow to paste to
	STDOUT by passing '-' as filename.

1122 1123 1124 1125 1126
2008-10-08  Martin Nordholts  <martinn@svn.gnome.org>

	* plug-ins/file-psd/psd-load.c (add_layers): Decrease scope of
	comp_mode and initialize it.

1127 1128 1129 1130 1131 1132 1133 1134 1135
2008-10-08  Martin Nordholts  <martinn@svn.gnome.org>

	Bug 555222 – PSD Load Plugin: unsupported compression mode

	* plug-ins/file-psd/psd-load.c (add_layers): Some PSD files can
	have channels where a compression method used for the channel data
	is specified, but without any actual channel data. Handle this
	case. Fix inspired by patch from Chris Mohler.

1136 1137 1138 1139 1140 1141
2008-10-08  Sven Neumann  <sven@gimp.org>

	* app/base/tile-cache.c: use a GMutex instead of a GStaticMutex
	as the latter needs API that causes compiler warnings about
	dereferencing of type-punned pointers.

1142 1143 1144 1145 1146 1147 1148
2008-10-07  Michael Natterer  <mitch@gimp.org>

	Bug 555362 – gimp-remote is not working properly

	* app/widgets/gimptoolbox-dnd.c (gimp_toolbox_dnd_init): add the
	window itself as drop traget again so gimp-remote works.

1149 1150 1151 1152 1153
2008-10-07  Michael Natterer  <mitch@gimp.org>

	* app/*/Makefile.am: reorder sections consistently. Remove
	redundant CFLAGS.

1154 1155
2008-10-06  Sven Neumann  <sven@gimp.org>

1156 1157
	Bug 555280 – some gif files will not be open

1158 1159
	* plug-ins/common/file-gif-load.c (GetCode): be more tolerant and
	continue loading with a warning message if there are bits missing
1160
	at the end of the file.
1161

Sven Neumann's avatar
Sven Neumann committed
1162 1163 1164 1165 1166
2008-10-06  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/scale-region.c (scale_region): removed debug
	output.

1167 1168 1169 1170 1171 1172
2008-10-06  Michael Natterer  <mitch@gimp.org>

	* plug-ins/common/file-gih.c
	* plug-ins/common/file-xbm.c: setting a spin button's
	page_increment to 1 is of no use, set it to 10 instead.

1173 1174 1175 1176 1177 1178
2008-10-06  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-menu-path.c (menu_path_mappings): add a
	fallback mapping from <Toolbox> to <Image> so we catch really
	everything that wants to go to <Toolbox>.

1179 1180 1181 1182 1183 1184 1185 1186 1187
2008-10-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.c (gimp_context_real_set_display): paranoia
	fix for hypothetical but harmful misbehavior: when setting the
	display from !=NULL to NULL, also set the image to NULL instead of
	relying on whatever obscure implicit behavior of other parts of
	GIMP which set a new display right away or make sure the image
	goes away together with the display.

1188 1189 1190 1191 1192 1193 1194 1195 1196 1197
2008-10-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.c (gimp_layer_add_mask): g_return_if_fail()
	on the mask's image being the same as the layer's image. The PDB
	already checks for this.

	* app/core/gimpimage.c (gimp_image_add_layer,channel,vectors):
	remove calls to gimp_item_set_image() because we only accept
	itmes of this image anyway.

1198 1199 1200 1201 1202 1203
2008-10-05  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimpplugin-cleanup.c
	* app/vectors/gimpanchor.c: #include <glib-object.h>, not
	"glib-object.h".

1204 1205 1206 1207
2008-10-05  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gegl-types.h: including ourselves serves no purpose.

1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231
2008-10-05  Michael Natterer  <mitch@gimp.org>

	Allow to "Open as Layers" in the empty display:

	* app/widgets/gimpfiledialog.[ch]: add member
	"gboolean open_as_layers". Rename gimp_file_dialog_set_image() to
	gimp_file_dialog_set_save_image() and add
	gimp_file_dialog_set_open_image() which sets both the image to
	load layers into and the "open_as_layers" boolean.

	* app/dialogs/file-open-dialog.c (file_open_dialog_response): look
	at dialog->open_as_layers instead of dialog->image to decide whether
	to open as layers (that's much more obvious). Enable open as layers
	without existing image by creating the image if it doesn't exist.

	* app/actions/file-commands.c (file_open_dialog_show): add "title"
	parameter and take the uri from the image if none was passed. Use the
	new gimp_file_dialog_set_open_image() instead of poking into the
	dialog struct. Change callers to pass the title and not get the
	uri from the image; instead always pass the image.

	* app/actions/file-actions.c (file_actions_update): keep
	"Open as Layers" sensitive even without image.

Michael Natterer's avatar
Michael Natterer committed
1232 1233 1234 1235 1236 1237
2008-10-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-contiguous-region.c: some formatting cleanups.

	(find_contiguous_segment): changed to return gboolean not gint.

1238 1239 1240 1241 1242 1243
2008-10-05  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpruler.c: cache the PangoLayout. Use it not
	only for drawing the numbers, but also to calculate the size
	requisition depending on the actual font size.

1244 1245 1246 1247 1248 1249
2008-10-05  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpruler.c: instead of hardcoding a size
	request, implement GtkWidget::size_request and set the size
	depending on the font-scale.

1250 1251
2008-10-05  Sven Neumann  <sven@gimp.org>

1252 1253 1254
	Bug 554890 – JPEG Save Options Dialog does not remember
	Subsampling mode

1255
	* plug-ins/file-jpeg/jpeg.c (run): fixed problem introduced by the
1256
	use of an enum for the subsampling factor.
1257

1258 1259 1260 1261 1262
2008-10-04  Michael Natterer  <mitch@gimp.org>

	* plug-ins/common/web-browser.c: return errors via return_vals
	instead of displaying them with g_message().

1263 1264 1265 1266 1267 1268 1269 1270
2008-10-04  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpruler.c: increased ruler font scale from
	X_SMALL to SMALL as it appears to be too small for many users.

	* themes/Default/gtkrc: follow that change here, but keep the
	ruler font extra small in the Small theme.

1271 1272 1273 1274 1275
2008-10-04  Sven Neumann  <sven@gimp.org>

	* plug-ins/file-jpeg/jpeg-save.c: some cleanups to the subsampling
	code; in an attempt to fix bug #555031.

Sven Neumann's avatar
Sven Neumann committed
1276 1277 1278 1279
2008-10-04  Sven Neumann  <sven@gimp.org>

	* INSTALL: updated GTK+ requirement.

1280 1281 1282 1283 1284 1285
2008-10-04  Michael Natterer  <mitch@gimp.org>

	* configure.in: depend on GTK+ 2.12.5 so motion history events of
	extended input devices have proper timestamps needed by paint
	tools.

1286 1287 1288 1289 1290 1291 1292 1293
2008-10-04  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpruler.c: make the font scale factor
	configurable in gtkrc.

	* themes/Default/gtkrc
	* themes/Small/gtkrc: for documentation, add the default value here.

1294 1295 1296 1297 1298
2008-10-03  Sven Neumann  <sven@gimp.org>

	* plug-ins/common/web-browser.c (browser_open_url): removed
	trailing whitespace and corrected error message.

1299 1300
2008-10-03  Hans Breuer  <hans@breuer.org>

1301
	* plug-ins/common/web-browser.c : when ShellExecute() is failing give
1302
	the detailed (currently intentionally untranslated) error message via
1303 1304
	g_message()

1305 1306 1307 1308
	* **/makefie.msc gimpdefs.msc app/gimpcore.def : updated
	* app/core/gimpcurve.c : include <string.h> for memcmp()
	* app/gegl/gimpcurvesconfig.c : include <string.h> for strcmp()

1309 1310
2008-10-03  Sven Neumann  <sven@gimp.org>

1311 1312
	Bug 554966 – Gimp crashes creating a new image using a template

1313 1314 1315
	* app/display/gimpdisplayshell-scale.c
	(gimp_display_shell_scale_update_scrollbars)
	(gimp_display_shell_scale_update_rulers): bail out early if
1316
	shell->display is NULL.
1317

1318 1319 1320 1321 1322 1323 1324
2008-10-03  Michael Natterer  <mitch@gimp.org>

	Bug 554785 – Compile failure on uri-backend-libcurl

	* plug-ins/file-uri/uri-backend-libcurl.c: apply patch from Robby
	Workman which fixes the build for this file.

1325 1326 1327 1328 1329
2008-10-03  Sven Neumann  <sven@gimp.org>

	* configure.in: removed custom error message from checks for babl
	and GEGL. The default error message is a lot more helpful.

1330 1331 1332 1333 1334
2008-10-02  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_operation_blacklisted):
	add "text" to the list of blacklisted operations.

1335 1336 1337 1338 1339 1340 1341 1342
2008-10-02  Michael Natterer  <mitch@gimp.org>

	Bug 554646 – Opening Help crashes GIMP with lqr-plugin installed

	* app/widgets/gimphelp.c (gimp_help_get_help_domains): need to
	assign (*foo)[i] and not *foo[i] of a gchar** returned via return
	value location.

1343 1344 1345 1346 1347 1348 1349
2008-10-02  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginprocframe.c: keep a reference to the
	proc_frame's procedure. We can't asume it's always there since it
	could be a temporary one and its plug-in might die during
	procedure execution, taking the temp_proc with it.

1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376
2008-10-02  Martin Nordholts  <martinn@svn.gnome.org>

	Bug 553534 – centering issues after image scaling and setting zoom
	to 100%

	* app/display/display-enums.h: Added a GimpZoomFocus enum with
	'best guess', 'pointer' or 'image center' values.

	* app/display/gimpdisplayshell-scale.[ch]
	(gimp_display_shell_scale): Take a GimpZoomFocus parameter and
	pass it on to

	(gimp_display_shell_scale_get_zoom_focus): which returns the
	requested zoom focus point if one was given, else makes a best
	guess.

	* app/actions/view-commands.c
	* app/display/gimpstatusbar.c
	* app/display/gimpnavigationeditor.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-scale-dialog.c: For explicit-zoom
	commands like "zoom to 100%", always use the image center as the
	zoom focus point. For all other zooming, continue to use the
	best-guess method.

	* app/display/display-enums.c: Regenerated.

1377 1378
2008-10-02  Sven Neumann  <sven@gimp.org>

1379 1380
	Bug 554898 – Compile failure on uri-backend-wget.c

1381 1382 1383
	* plug-ins/file-uri/uri-backend-wget.c: removed spurious commas
	that broke the build.

1384 1385 1386 1387
2008-10-01  Sven Neumann  <sven@gimp.org>

	* Makefile.am (EXTRA_DIST): added ChangeLog.pre-2-6 and NEWS.pre-2-6.

1388 1389 1390 1391 1392 1393
2008-10-01  Sven Neumann  <sven@gimp.org>

	* tools/gimptool.c: create the target directory and intermediate
	parent directories as needed. Restores the behavior of the
	gimptool shell script.

1394 1395 1396 1397 1398 1399
2008-10-01  Sven Neumann  <sven@gimp.org>

	* menus/Makefile.am (%.xml): added a dependency on configure.in to
	make sure that the image-menu.xml file is rebuilt when the version
	number is changed.

1400 1401
2008-10-01  Tor Lillqvist  <tml@novell.com>

1402 1403 1404
	* app/plug-in/gimpplugin.c
	* app/widgets/gtkscalebutton.c: : Don't #define _GNU_SOURCE on
	Windows as it confuses newest mingw headers.
1405

1406
2008-10-01  Sven Neumann  <sven@gimp.org>
1407

1408
	* configure.in: bumped version to 2.6.1 (interface age 1).
1409

Sven Neumann's avatar
Sven Neumann committed
1410 1411
2008-09-30  Sven Neumann  <sven@gimp.org>

1412
	* Made 2.6.0 release.