diff --git a/ChangeLog b/ChangeLog index 350d523e4b..a3148e6507 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Feb 8 19:17:58 GMT 1999 Adam D. Moss + + * app/layer.c + * app/selection.c: Turn off a layer's bounding box when + it is deselected. + Mon Feb 8 12:12:18 CST 1999 Shawn T. Amundson * app/bezier_select.c: applied patch from Shuji Narazaki diff --git a/app/core/gimplayer.c b/app/core/gimplayer.c index f717017d43..1f9abf6ff0 100644 --- a/app/core/gimplayer.c +++ b/app/core/gimplayer.c @@ -953,6 +953,9 @@ layer_invalidate_boundary (layer) /* Turn the current selection off */ gdisplays_selection_visibility (gimage, SelectionOff); + /* clear the affected region surrounding the layer */ + gdisplays_selection_visibility (gimage, SelectionLayerOff); + mask = gimage_get_mask (gimage); /* Only bother with the bounds if there is a selection */ @@ -964,10 +967,6 @@ layer_invalidate_boundary (layer) if (layer_is_floating_sel(layer)) floating_sel_invalidate(layer); - - /* clear the affected region surrounding the layer */ - /* gdisplays_selection_visibility (GIMP_DRAWABLE(layer)->gimage, - SelectionLayerOff); */ } diff --git a/app/display/gimpdisplay-selection.c b/app/display/gimpdisplay-selection.c index eff9451aee..1fe018971d 100644 --- a/app/display/gimpdisplay-selection.c +++ b/app/display/gimpdisplay-selection.c @@ -654,9 +654,13 @@ selection_invis (Selection *select) /* Find the bounds of the selection */ if (gdisplay_mask_bounds (gdisp, &x1, &y1, &x2, &y2)) - gdisplay_expose_area (gdisp, x1, y1, (x2 - x1), (y2 - y1)); + { + gdisplay_expose_area (gdisp, x1, y1, (x2 - x1), (y2 - y1)); + } else - selection_start (select, TRUE); + { + selection_start (select, TRUE); + } } diff --git a/app/display/gimpdisplayshell-selection.c b/app/display/gimpdisplayshell-selection.c index eff9451aee..1fe018971d 100644 --- a/app/display/gimpdisplayshell-selection.c +++ b/app/display/gimpdisplayshell-selection.c @@ -654,9 +654,13 @@ selection_invis (Selection *select) /* Find the bounds of the selection */ if (gdisplay_mask_bounds (gdisp, &x1, &y1, &x2, &y2)) - gdisplay_expose_area (gdisp, x1, y1, (x2 - x1), (y2 - y1)); + { + gdisplay_expose_area (gdisp, x1, y1, (x2 - x1), (y2 - y1)); + } else - selection_start (select, TRUE); + { + selection_start (select, TRUE); + } } diff --git a/app/gimplayer.c b/app/gimplayer.c index f717017d43..1f9abf6ff0 100644 --- a/app/gimplayer.c +++ b/app/gimplayer.c @@ -953,6 +953,9 @@ layer_invalidate_boundary (layer) /* Turn the current selection off */ gdisplays_selection_visibility (gimage, SelectionOff); + /* clear the affected region surrounding the layer */ + gdisplays_selection_visibility (gimage, SelectionLayerOff); + mask = gimage_get_mask (gimage); /* Only bother with the bounds if there is a selection */ @@ -964,10 +967,6 @@ layer_invalidate_boundary (layer) if (layer_is_floating_sel(layer)) floating_sel_invalidate(layer); - - /* clear the affected region surrounding the layer */ - /* gdisplays_selection_visibility (GIMP_DRAWABLE(layer)->gimage, - SelectionLayerOff); */ } diff --git a/app/layer.c b/app/layer.c index f717017d43..1f9abf6ff0 100644 --- a/app/layer.c +++ b/app/layer.c @@ -953,6 +953,9 @@ layer_invalidate_boundary (layer) /* Turn the current selection off */ gdisplays_selection_visibility (gimage, SelectionOff); + /* clear the affected region surrounding the layer */ + gdisplays_selection_visibility (gimage, SelectionLayerOff); + mask = gimage_get_mask (gimage); /* Only bother with the bounds if there is a selection */ @@ -964,10 +967,6 @@ layer_invalidate_boundary (layer) if (layer_is_floating_sel(layer)) floating_sel_invalidate(layer); - - /* clear the affected region surrounding the layer */ - /* gdisplays_selection_visibility (GIMP_DRAWABLE(layer)->gimage, - SelectionLayerOff); */ } diff --git a/app/selection.c b/app/selection.c index eff9451aee..1fe018971d 100644 --- a/app/selection.c +++ b/app/selection.c @@ -654,9 +654,13 @@ selection_invis (Selection *select) /* Find the bounds of the selection */ if (gdisplay_mask_bounds (gdisp, &x1, &y1, &x2, &y2)) - gdisplay_expose_area (gdisp, x1, y1, (x2 - x1), (y2 - y1)); + { + gdisplay_expose_area (gdisp, x1, y1, (x2 - x1), (y2 - y1)); + } else - selection_start (select, TRUE); + { + selection_start (select, TRUE); + } }