### Godot version

4.2 dev3

### System information

Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; 30.0.15.1403) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)

### Issue description

Basically variation of #33995

### Steps to reproduce

1. Open 2D scene
2. Drag a guide
3. Undo
4. Save

### Minimal reproduction project

N/A
}
		Vector2 pos = ci->get_global_transform().get_origin();
		Vector2 scale = ci->get_global_transform().get_scale();
		real_t angle = ci->get_global_transform().get_rotation();
		Transform2D t(angle, Vector2(0.f, 0.f));
		item_rect = t.xform(item_rect);
		Rect2 canvas_item_rect(pos + scale * item_rect.position, scale * item_rect.size);
		if (count == 1) {
			rect = canvas_item_rect;
		} else {
			rect = rect.merge(canvas_item_rect);
		}
	}
	if (p_op == VIEW_FRAME_TO_SELECTION && rect.size.x > CMP_EPSILON && rect.size.y > CMP_EPSILON) {
		real_t scale_x = viewport->get_size().x / rect.size.x;
		real_t scale_y = viewport->get_size().y / rect.size.y;
		zoom = scale_x < scale_y ? scale_x : scale_y;
		zoom *= 0.90;
		zoom_widget->set_zoom(zoom);
		viewport->queue_redraw(); // Redraw to update the global canvas transform after zoom changes.
		call_deferred(SNAME("center_at"), rect.get_center()); // Defer because the updated transform is needed.
	} else {
		center_at(rect.get_center());
	}
}
void CanvasItemEditor::_reset_drag() {
	drag_type = DRAG_NONE;
	drag_selection.clear();
}
void CanvasItemEditor::_bind_methods() {