Commit graph

138 commits

Author SHA1 Message Date
hujianwei
e2afe671df ; * xerror.c (CategorizeClients): Remove debugging code. 2022-11-09 02:55:20 +00:00
hujianwei
45df6087d6 Update dmabuf and seat tests
* tests/dmabuf_test.c (enum test_kind): Add XBGR888_KIND.
(test_names): Add that test.
(LAST_TEST): Set to XBGR888_KIND.
(verify_single_step, test_single_step, test_next_step):
Implement that test, but keep it disabled for now.
* tests/seat_test.c (struct test_subsurface): New struct.
(enum test_kind): Add TEST_GRAB_KIND.
(test_names): Add that test kind.
(LAST_TEST): Set to TEST_GRAB_KIND.
(make_test_subsurface): New function.
(run_grab_test): New functions.
(test_single_step): Implement new test.
(expect_enter_event): Accept surface arg.
(expect_surface_enter): Adjust accordingly.
(handle_wl_callback_done, wait_frame_callback): New functions.
2022-11-09 02:12:28 +00:00
hujianwei
9e7af2fe4c * tests/seat_child.png: New file. 2022-11-09 02:09:53 +00:00
hujianwei
83435c37b9 * 12to11.conf (GBM): Add variable. 2022-11-08 11:53:47 +00:00
hujianwei
a8297024f1 Add dma-buf tests
* tests/Imakefile (LOCAL_LIBRARIES): Require libgbm and libdrm.
(OBJS9, SRCS9): Add dmabuf_test.c/.o.
(PROGRAMS): Add dmabuf_test.
(dmabuf_test): New program.
* tests/run_tests.sh: Add dmabuf_test.
* tests/seat_test.c (handle_pointer_enter, handle_pointer_leave)
(handle_pointer_motion): Pacify some GCC warnings.
* tests/svnignore.txt: Add dmabuf_test.
* tests/test_harness.h: Include sys/types.h.
2022-11-08 11:53:25 +00:00
hujianwei
ec30b855b6 Check in new files for dma-buf tests
* tests/argb8888_implicit.dump:
* tests/argb8888_linear.dump:
* tests/dmabuf_test.c: New files.
2022-11-08 11:50:09 +00:00
hujianwei
b0815b0b8c Fix initialization of server time overflow timer
* time.c (StartAlarms): Fix comment.  Initialize overflow timer
A with negative delta.
2022-11-08 11:49:43 +00:00
hujianwei
f4194133f9 Better handle X server out-of-memory situations
* compositor.h (struct _RenderFuncs): Add function `set_client'.
(struct _ClientErrorData): New struct.
* icon_surface.c (XLGetIconSurface): Attach client to render
target.
* picture_renderer.c (struct _BackBuffer): Keep track of how
many pixels were allocated.
(struct _PictureTarget): Keep track of the client data.
(SetClient): New function.
(FreeBackBuffer, FreeBackBuffers, CreateBackBuffer)
(SetStandardEventMask, NoteTargetSize, DestroyRenderTarget)
(picture_render_funcs): Keep track of the number of pixels
allocated on behalf of each client.
* renderer.c (RenderSetClient): New function.
* run.c (RunStep): Disconnect clients pending disconnect.
* shm.c (InitRender): Export the render error base.
* test.c (GetTestSurface):
* xdg_surface.c (XLGetXdgSurface): Attach the client to the
render target.
* xerror.c (enum _ClientMemoryCategory): New enum.
(ReleaseClientData, HandleClientDestroy, ErrorDataForClient)
(CategorizeClients, SavePendingDisconnectClient)
(DisconnectOneClient, ProcessPendingDisconnectClients)
(HandleBadAlloc): New functions.
(ErrorHandler): Handle BadAlloc errors by disconnecting pixmap
hogs.
2022-11-08 03:37:37 +00:00
hujianwei
801eee5464 Check in new subsurface test reference data
* tests/subsurface_1_complex.png:
* tests/subsurface_test_30.dump:
* tests/subsurface_test_31.dump:
* tests/subsurface_test_32.dump:
* tests/subsurface_test_33.dump:
* tests/subsurface_test_34.dump:
* tests/subsurface_transparency_damage.png: New files.
2022-11-07 12:02:30 +00:00
hujianwei
7e9ba17e88 Add subsurface scaling and damage simplification tests
* subcompositor.c (IsDamageComplicated): Consider 10 rects as
complex damage.
* surface.c (ApplyScale): Don't dereference subsurface list data
as role.
* tests/subsurface_test.c (enum test_kind, test_names): Add
complex damage and scaling tests.
(LAST_TEST): Set to SUBSURFACE_SCALE_KIND.
(test_single_step): Implement new tests.
2022-11-07 12:01:52 +00:00
hujianwei
b487cbe320 Add button press and grab test
* tests/seat_test.c (enum test_expect_event_kind): Add leave and
button events.
(struct test_expect_data): Remove structure.
(struct test_recorded_event): New structure.
(struct test_recorded_leave_event)
(struct test_recorded_button_event)
(struct test_recorded_frame_event)
(struct test_recorded_enter_event)
(struct test_recorded_motion_event): New structures.  Replace
old event verification mechanism with a mechanism for recording
events sent from the pointer device. and verifying them later.
(enum test_kind, test_names): Add TEST_CLICK_KIND.
(LAST_TEST): Set to TEST_CLICK_KIND.
(num_listener_data, current_listener_data): Remove variables.
(recording_events, record_tail): New variables.
(run_click_test, test_single_step): Implement new kind of test.
(record_events, expect_button_event, expect_frame_event)
(expect_enter_event, expect_motion_event, expect_leave_event)
(expect_button_event, expect_no_events): New functions for
recording and inspecting input events.
(expect_surface_enter, expect_surface_motion): Reimplement in
terms of those functions.
(get_next_expect_data): Delete function.
(handle_pointer_enter, handle_pointer_leave, handle_pointer_motion)
(handle_pointer_button, handle_pointer_frame): Record events
instead of matching them against a list of verified events.
2022-11-07 10:23:12 +00:00
hujianwei
13a399bd35 * tests/seat_test.c (get_next_expect_data): Remove unused field. 2022-11-07 06:21:46 +00:00
hujianwei
686f71c3b4 Add seat testing mechanism and tests for seats
* 12to11-test.xml (test_manager): <error>: Add `invalid_button',
`value_exists', `bad_seat_version' and `invalid_valuator'.
(test_manager): <get_test_seat>: New request.
(test_XIButtonState, test_XIModifierState, test_XIValuatorState)
(test_seat_controller): New interfaces.
* Imakefile: (seat.o): Depend on test_seat.c.
* compositor.h: Update prototypes.
* run.c (XLRunCompositor): Get rid of stdbool constant.
* seat.c (HandleBind1): Move binding logic to this new function.
(HandleBind): Call HandleBind1.
(InitSeatCommon): Add list initialization to this function.
(MakeSeatForDevicePair): Call InitSeatCommon instead.
(HandleRawKey, UpdateModifiersForSeats, DispatchFocusIn)
(DispatchMotion, DispatchBarrierHit, DispatchGesturePinch)
(DispatchGestureSwipe): Do not update user time from send_event
events.  Include test_seat.c.
* test.c (GetTestSeat): New function.
(test_manager_impl): Add new proc function.
(XLLookUpTestSurface): New function.
* tests/Imakefile (OBJS8, SRCS8): New program.
(PROGRAMS): Add seat_test.
(seat_test): New function.
* tests/run_tests.sh (standard_tests): Add seat_test.
* tests/svnignore.txt: Add seat_test.
* tests/test_harness.c (report_test_internal_error,
test_init_seat): New functions.
* tests/test_harness.h (struct test_seat): New struct.
(struct test_display): New field `seat'.
2022-11-07 06:21:07 +00:00
hujianwei
ef456e4d24 Check in new files for seat tests
* test_seat.c:
* tests/seat_test.c:
* tests/seat_test.png: New files.
2022-11-07 06:05:08 +00:00
hujianwei
0042259e28 Check in new test dumps
* tests/subsurface_test_28.dump:
* tests/subsurface_test_29.dump: New files.
2022-11-06 05:10:28 +00:00
hujianwei
3dcceb506b Fix subsurface commit behavior
* subsurface.c (EarlyCommit): Clear pending_commit after merging
cached state.
* tests/subsurface_test.c (test_single_step): Add test that
found this problem.
2022-11-06 05:09:57 +00:00
hujianwei
769827921f Use precomputed width and height in ViewMaxX/ViewMaxY
* subcompositor.c (ViewMaxX):
(ViewMaxY): Use precomputed dimensions.
(ViewMove): Fix typo in comment.
2022-11-06 03:38:48 +00:00
hujianwei
3ed01b13b7 Check in new subsurface test reference data
* tests/subsurface_test_20.dump:
* tests/subsurface_test_21.dump:
* tests/subsurface_test_22.dump:
* tests/subsurface_test_23.dump:
* tests/subsurface_test_24.dump:
* tests/subsurface_test_25.dump:
* tests/subsurface_test_26.dump:
* tests/subsurface_test_27.dump: New files.
2022-11-06 03:22:18 +00:00
hujianwei
e73914d7dd Correctly implement nested subsurface sync or desync
* compositor.h (struct _RoleFuncs): Get rid of note_desync_child
and co.
* frame_clock.c (StartFrame): Fix typo.
* subsurface.c (struct _Subsurface): New field
`should_be_desync'.
(NoteDesyncChild, NoteChildSynced): Delete functions.
(IsParentSynchronous): New function.
(SetSync1, NoteSubsurfaceDesynchronous, NoteSubsurfaceTeardown):
New functions.
(SetSync): Make all children synchronous when required.
(SetDesync): Desynchronize all children if possible; otherwise,
keep the surface synchronous but set the `should_be_desync'
flag.
(EarlyCommit): Merge pending state if required.
(Setup): Call SetSync1 to make children synchronous.
(Teardown): Call NoteSubsurfaceTeardown to make children
desynchronous as required.
(GetSubsurface): Stop setting
note_child_synced/note_desync_child.

* surface.c (InternalCommit1): New function.
(InternalCommit): Move state merging logic to InternalCommit1.
(XLSurfaceMergeCachedState): New function.

* xdg_surface.c (struct _XdgRole): Remove `n_desync_children'.
(UpdateFrameRefreshPrediction): Resort to counting the number of
children on each frame instead.
(Setup, NoteFrame, NoteChildSynced, NoteDesyncChild, HandleFreeze)
(XLGetXdgSurface): Stop counting sync/desync children.

* tests/subsurface_test.c (enum test_kind, test_names): Add
SUBSURFACE_DESYNC_KIND.
(LAST_TEST): Set to SUBSURFACE_DESYNC_KIND.
(test_single_step): Implement SUBSURFACE_DESYNC_KIND.
2022-11-06 03:21:27 +00:00
hujianwei
e5fe4380eb ; * Imakefile: Fix typo. 2022-11-06 00:53:00 +00:00
hujianwei
55cae69aa1 Add some initial wrapping for ports
* Imakefile (EXTRA_DEFINES, DEPEND_DEFINES, ANALYZE, OPTIMIZE):
Make port and compiler specific.
* compositor.h: Update compiler-specific defines.
* fns.c (PortPopcount): New function.
* seat.c (MaskPopCount): Use Popcount macro.
2022-11-05 13:31:32 +00:00
hujianwei
d17262c6ea * port_gnu.h: New file. 2022-11-05 13:29:25 +00:00
hujianwei
6f22495cd1 ; * 12to11.man (OPTIONS): Remove extraneous titled paragraph. 2022-11-05 12:28:13 +00:00
hujianwei
736aef224c Fix problems with test Imakefile
* tests/Imakefile (GENFILES): New variable.
(ScannerTarget): Append to GENFILES.
(depend): Only depend on COMMONSRCS.
(clean): Clean generated files.
2022-11-05 12:13:10 +00:00
hujianwei
892b74ede2 ; * 12to11.c (XLMain): Fix call to XInitThreads. 2022-11-05 12:02:15 +00:00
hujianwei
c26d1c4939 Enable map/unmap optimizations for subsurfaces
* subcompositor.c (ViewMap, ViewUnmap): Union view inferior
bounds whenever possible, instead of garbaging the
subcompositor.
* tests/subsurface_test.c (enum test_kind): New test
`SUBSURFACE_STACKING_1_KIND'.
(test_names): Add new name.
(LAST_TEST): Set to SUBSURFACE_STACKING_1_KIND.
(test_single_step): Implement SUBSURFACE_STACKING_1_KIND.
2022-11-05 10:45:39 +00:00
hujianwei
e712b6b57a Check in new subsurface test dumps
* tests/subsurface_test_18.dump:
* tests/subsurface_test_19.dump: New files.
2022-11-05 10:44:11 +00:00
hujianwei
21aa7494cd Add new buffer scale tests
* 12to11-test.xml (test_manager): <error>: New errors
`scale_lock_exists' and `invalid_scale'.
(test_manager): <get_test_surface>: Reword documentation.
(test_manager): <get_scale_lock>: New request.
(test_scale_lock): New interface.

* compositor.h: Update prototypes.
* output.c (HandleScaleSettingChange): New function.  Ignore
scale changes while scale is locked.
(XLInitRROutputs): Initialize real output scale.
* test.c (DestroyScaleLock, SetScale, GetScaleLock): New
functions.
(test_manager_impl): Add new implementation.
* tests/Imakefile (SYSTEM_LIBRARIES): Add MathLibrary.
(SRCS7, OBJS7): Add scale_test.c/.o.
(PROGRAMS): Add scale_test.
(scale_test): New program target.
* tests/run_tests.sh (standard_tests): Add scale_test.
* tests/svnignore.txt: Add scale_test.
* tests/test_harness.c (exit_with_code): New function.
(open_test_display): Initialize scale.
(report_test_failure): Call it instead of just exit.
(test_set_scale): New function.
(test_complete): Call exit_with_code.
* tests/test_harness.h (struct test_display): New field
`scale_lock'.
2022-11-05 08:18:18 +00:00
hujianwei
fa29286c98 Check in files for buffer scale tests
* tests/buffer_scale_1_1.dump:
* tests/buffer_scale_1_2.dump:
* tests/buffer_scale_1_2_1.dump:
* tests/buffer_scale_1_2_2.dump:
* tests/buffer_scale_2_1.dump:
* tests/buffer_scale_2_2.dump:
* tests/buffer_scale_2_2_1.dump:
* tests/buffer_scale_2_2_2.dump:
* tests/scale.png:
* tests/scale_damage.png:
* tests/scale_test.c: New files.
2022-11-05 08:12:29 +00:00
hujianwei
cde0e6d701 Add viewporter tests with transforms
* tests/viewporter_test.c (enum test_kind, test_names): Add new
test VIEWPORT_SRC_250_50_200_200_DEST_50_75_90CW_KIND.
(LAST_TEST): Set to
VIEWPORT_SRC_250_50_200_200_DEST_50_75_90CW_KIND.
(test_single_step): Implement
VIEWPORT_SRC_250_50_200_200_DEST_50_75_90CW_KIND.
2022-11-05 06:25:41 +00:00
hujianwei
38f398d7dd Check in files for new test
* tests/viewport_src_250_50_200_200_dest_50_75_90cw_1.dump:
* tests/viewport_src_250_50_200_200_dest_50_75_90cw_2.dump: New
files.
2022-11-05 06:24:22 +00:00
hujianwei
ca4d00c38f Update subsurface tests and fix discovered bugs
* subcompositor.c (DoCull): Fix leak of temp region upon
encountering opaque view.
* tests/subsurface_test.c (enum test_kind, test_names): New test
SUBSURFACE_GROW_SHRINK_KIND.
(LAST_TEST): Make it the last test.
(test_single_step): Implement SUBSURFACE_GROW_SHRINK_KIND.
2022-11-05 05:59:05 +00:00
hujianwei
88ac22aa27 Check in files for new subsurface grow/shrink tests
* tests/big.png:
* tests/small.png:
* tests/subsurface_test_15.dump:
* tests/subsurface_test_16.dump:
* tests/subsurface_test_17.dump: New files.
2022-11-05 05:57:25 +00:00
hujianwei
47a650cfd6 Add tests for subsurfaces and fix bug found by them
* subcompositor.c (ViewInsert, ViewInsertAfter)
(ViewInsertBefore): Update bounds for child, not parent view.
* tests/Imakefile (SRCS1, OBJS1): Build imgview first.
(SRCS6, OBJS6): Add subcompositor tests.
(PROGRAMS): Add subsurface_test.
(subsurface_test): New program target.
* tests/run_tests.sh (standard_tests): Add subsurface_test.
* tests/svnignore.txt: Add subsurface_test.
* tests/test_harness.c (swizzle_png_row_premultiply): New
function.
(load_png_image): Premultiply images w/ alpha channel.
* tests/test_harness.h: Include more headers.
2022-11-05 03:44:48 +00:00
hujianwei
b8143cf32b * tests/tiny.png: New file. 2022-11-05 03:41:20 +00:00
hujianwei
f2a504e6eb Check in files for subsurface tests
* tests/cow_transparent.png:
* tests/gradient.png:
* tests/subsurface_1.png:
* tests/subsurface_1_damaged.png:
* tests/subsurface_base.png:
* tests/subsurface_damage.png:
* tests/subsurface_test.c:
* tests/subsurface_test_1.dump:
* tests/subsurface_test_10.dump:
* tests/subsurface_test_11.dump:
* tests/subsurface_test_12.dump:
* tests/subsurface_test_13.dump:
* tests/subsurface_test_14.dump:
* tests/subsurface_test_2.dump:
* tests/subsurface_test_3.dump:
* tests/subsurface_test_4.dump:
* tests/subsurface_test_5.dump:
* tests/subsurface_test_6.dump:
* tests/subsurface_test_7.dump:
* tests/subsurface_test_8.dump:
* tests/subsurface_test_9.dump:
* tests/subsurface_transparency.png: New files.
2022-11-05 03:40:54 +00:00
hujianwei
6b60fcefdf Update xdg-shell implementation
* compositor.h: Update prototypes.
* positioner.c (SetSize, SetAnchorRect, SetAnchor, SetGravity):
Signal specific errors upon invalid input.
(XLPositionerIsReactive): New function.
* xdg-shell.xml: Update from wayland-protocols 1.28.
* xdg_popup.c (struct _XdgPopup): Remove unused next, last
fields.
(DestroyBacking): Adjust accordingly.
(Reposition, XLGetXdgPopup): Check positioner validity.
(XLInitPopups): Remove unused popup list.
* xdg_toplevel.c (SetMaxSize, SetMinSize): Raise
XDG_TOPLEVEL_ERROR_INVALID_SIZE.
* xdg_wm.c (Destroy): Don't allow destroying wm_base with
surfaces.
2022-11-05 01:09:08 +00:00
hujianwei
9faad05a8d Add viewporter shrinking test
* tests/run_tests.sh: Add missed shebang.
* tests/viewporter_test.c (enum test_kind): Add
VIEWPORT_SRC_50_50_200_200_DEST_50_75_KIND.
(test_names): Add name for new test.
(LAST_TEST): Make VIEWPORT_SRC_50_50_200_200_DEST_50_75_KIND.
(test_single_step): Handle
VIEWPORT_SRC_50_50_200_200_DEST_50_75_KIND.
2022-11-04 12:47:38 +00:00
hujianwei
df8f5c7763 Add files for viewporter shrink test
* tests/viewport_src_50_50_200_200_dest_50_75_1.dump:
* tests/viewport_src_50_50_200_200_dest_50_75_2.dump: New files.
2022-11-04 12:46:45 +00:00
hujianwei
1879608d1a Check in new viewporter test files
* tests/imgview.c:
* tests/viewport_dest_200_150_1.dump:
* tests/viewport_dest_200_150_2.dump:
* tests/viewport_src_50_50_200_200_1.dump:
* tests/viewport_src_50_50_200_200_2.dump:
* tests/viewport_src_50_50_200_200_dest_500_500_1.dump:
* tests/viewport_src_50_50_200_200_dest_500_500_2.dump:
* tests/viewporter_test.c:
* tests/viewporter_test.png:
* tests/viewporter_test_1.png: New files.
2022-11-04 12:21:39 +00:00
hujianwei
b5e71e73b6 ; * tests/test_harness.c (struct image_data_header): Add missing pad. 2022-11-04 07:38:59 +00:00
hujianwei
6a0506a169 Add test for buffer transforms
* tests/Imakefile (OBJS3, SRCS3): New program.
(PROGRAMS): Add transform_test.
* tests/README: Document what these tests are.
* tests/damage_test.c (test_names): Fix coding style.
* tests/run_tests.sh (standard_tests): Add `standard_tests'.
* tests/svnignore.txt: Add transform_test.
* tests/test_harness.c (load_image_data): Fix stride validation
when height > width.
* tests/test_harness.h (FALLTHROUGH): New macro.
2022-11-04 07:22:57 +00:00
hujianwei
2875ae8df1 Check in new files for transform tests
* tests/transform_test.c:
* tests/transform_test_180_1.dump:
* tests/transform_test_180_2.dump:
* tests/transform_test_270_1.dump:
* tests/transform_test_270_2.dump:
* tests/transform_test_90_1.dump:
* tests/transform_test_90_2.dump:
* tests/transform_test_flipped_1.dump:
* tests/transform_test_flipped_180_1.dump:
* tests/transform_test_flipped_180_2.dump:
* tests/transform_test_flipped_2.dump:
* tests/transform_test_flipped_270_1.dump:
* tests/transform_test_flipped_270_2.dump:
* tests/transform_test_flipped_90_1.dump:
* tests/transform_test_flipped_90_2.dump: New files.
2022-11-04 07:19:25 +00:00
hujianwei
c8a99a3db7 ; Update some properties 2022-11-04 05:37:52 +00:00
hujianwei
5d033bc93f Add new damage test and unify buffer release code in xdg_surface
* 12to11-test.xml (test_surface): <description>: Document when
frame callbacks are run.
* 12to11.c (HandleCmdline): Accept new arg `printsocket'.
(XLMain): Pass socket to HandleCmdline.
* 12to11.man: Document new `printsocket' option.
* mime0.awk:
* mime1.awk:
* mime2.awk:
* mime3.awk:
* mime4.awk: Fix typos in copyright blurb.
* test.c (NoteBounds): Sync with X server after XResizeWindow.
(Commit): Run frame callbacks after unmap as well.
(GetTestSurface): Make windows override redirect.

* tests/Imakefile (SRCS2, OBJS2): New program.
(PROGRAMS): Add damage_test.
(damage_test): New program.  Depend on SRCS2.
* tests/README: Improve documentation on how to run tests.
* tests/simple_test.c (test_names): New list.
(LAST_TEST): New define.
(verify_single_step): Complete test upon last test being run.
(test_single_step): Submit correct surface damage.
(test_next_step): New function.  Does nothing here.
(handle_wl_callback_done): Run the next test.
(submit_surface_damage): New function.
* tests/svnignore.txt: Add damage_test and Makefile.bak.
* tests/test_harness.c (test_complete): New function.
* tests/test_harness.h: New prototypes.
* xdg_surface.c (struct _XdgRole): Use a buffer release helper.
(struct _ReleaseLaterRecord, DeleteRecord, FreeRecords)
(AddRecordAfter): Delete unused structs and functions.
(RunFrameCallbacksConditionally, BufferIdleCallback)
(ReleaseBacking, ReleaseBuffer, XLGetXdgSurface): Use and free
buffer release helper; run frame callbacks from its callback.
2022-11-04 05:36:10 +00:00
hujianwei
ad7443ebd3 Check in new test related files
* tests/basic_damage.png:
* tests/damage_test.c:
* tests/damage_test_1.dump:
* tests/damage_test_2.dump:
* tests/run_tests.sh: New files.
2022-11-04 05:26:16 +00:00
hujianwei
83a2d26df3 Check in tests
* tests/Imakefile:
* tests/README
* tests/basic_test_card.png:
* tests/blue.png:
* tests/simple_test.c:
* tests/simple_test.dump:
* tests/svnignore.txt:
* tests/test_harness.c:
* tests/test_harness.h: New files.
2022-11-04 02:41:19 +00:00
hujianwei
2230f5e406 Check in changes to core files used for tests
* 12to11.c (XLMain): Initialize tests.
* 12to11.conf (WAYLAND_CLIENT, PNG): New libraries
(BuildTests): New define.
* Imakefile: Add the ability to build tests in a subdirectory.
* compositor.c (HandleResourceDestroy, HandleBind): Remove
unused list.
* compositor.h (enum _RoleType): Add TestSurfaceType.
* run.c (HandleOneXEvent): Handle events for test surfaces.
* xdg_surface.c (FreeRecords): Cancel idle callback if
necessary.
(BufferIdleCallback): Remove extra whitespace.
(XLGetXdgSurface): Fix coding style.
2022-11-04 02:39:50 +00:00
hujianwei
4e9a442856 Check in C and XML files for tests
* 12to11-test.xml:
* buffer_release.c:
* test.c: New files.
2022-11-04 02:25:44 +00:00
hujianwei
0a68122e52 Fix damage unioning upon ViewMove
* subcompositor.c (ViewMove): Union previous damage at right
place.
2022-11-03 04:06:28 +00:00