Commit graph

3 commits

Author SHA1 Message Date
oldosfan
167001689a Fix bugs discovered by static analyzers and fix buffer damage calculation
* compositor.h (XLAssert): Make a macro.
* dnd.c (HandleCirculateNotify, HandleReparentNotify): Fix NULL
checks.
(ReadProtocolProperties): Return suitable values for windows
that aren't in the cache.
* egl.c (HaveEglExtension1): Avoid redundant assignment to n.
* fns.c (XLAssert): Delete function.
* picture_renderer.c (GetRenderDevice): Remove redundant TODO.
(BufferFromShm): Assert that pict_format is non-NULL.
(ValidateShmParams): Likewise.
* pointer_constraints.c (ApplyLines): Remove redundant
assignment to i.
* renderer.c (PickRenderer): Fix build with non-GCC compilers.
* seat.c (ComputeHotspot): Return values when surface is NULL.
(XLSeatExplicitlyGrabSurface): Don't save keyboard grab state.
* shm.c (CreatePool): Close fd and return if pool could not be
allocated.
* subcompositor.c (GetContentScale): Move earlier.
(ViewDamageBuffer, ViewGetContentScale): New functions.
(SubcompositorUpdate): Remove redundant assignment.
* surface.c (ApplyViewport): Make dest_width and dest_height
double.
(ApplyDamage): Call ViewDamageBuffer.
(ScaleToWindow):
* text_input.c (HandleNewIM):
* xdg_toplevel.c (SendDecorationConfigure1, HandleWmStateChange)
(HandleAllowedActionsChange, HandleDecorationResourceDestroy):
Avoid NULL pointer dereferences in various cases.
2022-10-17 04:44:49 +00:00
oldosfan
c1959e5f22 Implement relative pointer protocol
* 12to11.c (XLMain): Initialize relative pointer.
* 12to11.man: Document new protocol.
* Imakefile (SRCS): Add relative_pointer.c.
(OBJS): Add relative_pointer.o.
(relative-pointer-unstable-v1): New scanner target.
* README: Document support for new protocol.
* compositor.h: Update prototypes.
* pointer_constraints.c (HandleResourceDestroy)
(HandleSeatDestroyed): Don't destroy commit callback if not
attached.
* seat.c (struct _Keyboard): Fix comment.
(struct _RelativePointer): New structure.
(struct _SeatClientInfo): Add relative pointer fields.
(CreateSeatClientInfo, ReleaseSeatClientInfo): Initialize and
check relative pointer list.
(SendRelativeMotion): New function.
(EnteredSurface): Clear surface coordinate set flag.
(DispatchMotion): Dispatch relative motion if possible.
(DispatchBarrierHit, XLGetGEWindowForSeats, XLSelectStandardEvents)
(XLDispatchGEForSeats): Handle barrier hit events for relative
motion.
(XLSeatGetRelativePointer, XLSeatDestroyRelativePointer): New
functions.
2022-10-16 11:35:56 +00:00
oldosfan
7810cbb79f Check in new files for pointer constraint support
* pointer-constraints-unstable-v1.xml:
* pointer_constraints.c: New files.
2022-10-15 07:47:44 +00:00