diff --git a/ChangeLog b/ChangeLog index 5725d779f..97bc2df08 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2008-05-05 David A. Capello + * src/commands/cmd_duplicate_layer.c (duplicate_layer): Fixed the + duplication of background layer: the flags aren't copied. + * src/script/functions.c (CropLayer): Rewritten (more simple). (CropSprite): Fixed to crop the background layer right. diff --git a/data/gui-en.xml b/data/gui-en.xml index 1d0b5cc56..281516857 100644 --- a/data/gui-en.xml +++ b/data/gui-en.xml @@ -34,7 +34,7 @@ - + diff --git a/data/jids/toolconf.jid b/data/jids/toolconf.jid index e02be0e81..848195060 100644 --- a/data/jids/toolconf.jid +++ b/data/jids/toolconf.jid @@ -1,7 +1,7 @@ - + diff --git a/src/commands/cmd_duplicate_layer.c b/src/commands/cmd_duplicate_layer.c index d0e5afaf0..54d2a006d 100644 --- a/src/commands/cmd_duplicate_layer.c +++ b/src/commands/cmd_duplicate_layer.c @@ -68,6 +68,8 @@ static Layer *duplicate_layer(void) return NULL; } + layer_copy->flags &= ~(LAYER_IS_LOCKMOVE | LAYER_IS_BACKGROUND); + sprintf(buf, "%s %s", layer_copy->name, _("Copy")); layer_set_name(layer_copy, buf); diff --git a/src/jinete/jwidget.c b/src/jinete/jwidget.c index 89646d038..8fa436926 100644 --- a/src/jinete/jwidget.c +++ b/src/jinete/jwidget.c @@ -1258,13 +1258,17 @@ void jwidget_scroll(JWidget widget, JRegion region, int dx, int dy) { if (dx != 0 || dy != 0) { JRegion reg2 = jregion_new(NULL, 0); - + jregion_copy(reg2, region); jregion_translate(reg2, dx, dy); jregion_intersect(reg2, reg2, region); jregion_translate(reg2, -dx, -dy); + + jmouse_hide(); ji_move_region(reg2, dx, dy); + jmouse_show(); + jregion_translate(reg2, dx, dy); jregion_union(widget->update_region, widget->update_region, region); diff --git a/src/widgets/editor/editor.c b/src/widgets/editor/editor.c index cb4f5c64a..5d9f837a2 100644 --- a/src/widgets/editor/editor.c +++ b/src/widgets/editor/editor.c @@ -161,9 +161,8 @@ void editor_set_scroll(JWidget widget, int x, int y, int use_refresh_region) JRegion region = NULL; int thick = editor->cursor_thick; - if (thick) { + if (thick) editor_clean_cursor(widget); - } if (use_refresh_region) { region = jwidget_get_drawable_region(widget, JI_GDR_CUTTOPWINDOWS); @@ -184,11 +183,9 @@ void editor_set_scroll(JWidget widget, int x, int y, int use_refresh_region) jview_get_scroll(view, &new_scroll_x, &new_scroll_y); /* move screen with blits */ - jmouse_hide(); jwidget_scroll(widget, region, old_scroll_x - new_scroll_x, old_scroll_y - new_scroll_y); - jmouse_show(); jregion_free(region); /* editor->widget->flags &= ~JI_DIRTY; */ @@ -200,9 +197,8 @@ void editor_set_scroll(JWidget widget, int x, int y, int use_refresh_region) /* } */ /* } */ - if (thick) { + if (thick) editor_draw_cursor(widget, editor->cursor_screen_x, editor->cursor_screen_y); - } } void editor_update(JWidget widget) diff --git a/src/widgets/statebar.c b/src/widgets/statebar.c index a7569fb98..310f9ee66 100644 --- a/src/widgets/statebar.c +++ b/src/widgets/statebar.c @@ -479,14 +479,16 @@ static void update_from_layer(StatusBar *statusbar) } /* opacity layer */ - if (sprite && sprite->layer && - sprite->layer->gfxobj.type == GFXOBJ_LAYER_IMAGE && + if (sprite && + sprite->layer && + layer_is_image(sprite->layer) && + !layer_is_background(sprite->layer) && (cel = layer_get_cel(sprite->layer, sprite->frame))) { jslider_set_value(statusbar->slider, MID(0, cel->opacity, 255)); jwidget_enable(statusbar->slider); } else { - jslider_set_value(statusbar->slider, 0); + jslider_set_value(statusbar->slider, 255); jwidget_disable(statusbar->slider); } }