labwc/include
tokyo4j f21d3c7d34 view: fix error messages on region or usable area changes
f58b532 implemented output-relative position saving/restoring on output
un-plugging/re-plugging. It worked as follows:

1. Store the output-relative view geometry in `view->last_placement`
  (if not set) before adding/removing an output from the layout.
2. After adding/removing an output, call `view_adjust_for_layout_change()`
  after the layout change to restore the output-relative view geometry
  based on `view->last_placement`.

However, it didn't consider `view_adjust_for_layout_change()` being
called from other places such as `regions_reconfigure()` and
`output_update_all_usable_areas()`. In such cases,
`view->last_placement` is empty and it emits an error message "view has
no last placement info". This can happen when a panel is mapped or
unmapped, or on Reconfigure.

This commit fixes it by changing the life cycle of
`view->last_placement`. It used to be set only before output layout
changes and cleared on user-initiated moves/resizes, but now it is
always set and updated on user-initiated moves/resizes. I think this is
more intuitive, too.
2026-02-03 16:30:26 +09:00
..
common box: factor out box_center() 2025-12-02 14:57:41 +09:00
config Avoid double use of struct workspace 2026-01-30 18:41:37 +01:00
foreign-toplevel
img include: reduce unnecessary #includes 2025-09-07 19:34:30 +09:00
input cursor: generalize seat->pressed 2025-11-30 20:55:54 +09:00
menu
protocols
scaled-buffer
action-prompt-codes.h labnag: s/LAB_EXIT_TIMEOUT/LAB_EXIT_CANCELLED/ 2025-10-13 19:03:43 +01:00
action.h action: fix UAF when using prompt during reconfigure 2025-09-26 21:25:34 +01:00
buffer.h
cycle.h cycle: implement scrollable OSD 2025-12-31 22:46:53 +00:00
debug.h
decorations.h
desktop-entry.h
dnd.h
edges.h
idle.h
labwc.h desktop: use for_each_view() in desktop_topmost_focusable_view() 2026-01-31 17:16:13 +01:00
layers.h
magnifier.h
meson.build
node.h node: update node_descriptor_create() comment 2025-12-07 14:55:32 +09:00
output-state.h
output-virtual.h
output.h cycle: refactor to aggregate type definitions into cycle.h 2025-12-28 20:57:37 +00:00
overlay.h
placement.h
regions.h
resistance.h
resize-indicator.h
resize-outlines.h
session-lock.h
snap-constraints.h
snap.h
ssd-internal.h
ssd.h
theme.h theme: replace THEME_(IN)ACTIVE with SSD_(IN)ACTIVE 2025-10-14 07:48:27 +02:00
translate.h Add translate.h for HAVE_NLS includes/defines 2025-09-26 10:43:23 -04:00
view-impl-common.h view: deduplicate foreign-toplevel creation code 2025-11-27 01:26:55 -05:00
view.h view: fix error messages on region or usable area changes 2026-02-03 16:30:26 +09:00
window-rules.h
workspaces.h Avoid double use of struct workspace 2026-01-30 18:41:37 +01:00
xwayland.h xwayland: flush XCB connection to mitigate race between Raise and input 2025-12-02 19:50:03 +01:00