Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hid/display/client.c

    r46a47c0 r195b7b3  
    11/*
    2  * Copyright (c) 2023 Jiri Svoboda
     2 * Copyright (c) 2019 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    115115        seat = ds_display_first_seat(wnd->display);
    116116        while (seat != NULL) {
    117                 ds_seat_evac_wnd_refs(seat, wnd);
     117                ds_seat_evac_focus(seat, wnd);
    118118                seat = ds_display_next_seat(seat);
    119119        }
    120 
    121         /* Make sure no event in the queue is referencing the window */
    122         ds_client_purge_window_events(wnd->client, wnd);
    123120
    124121        list_remove(&wnd->lcwindows);
     
    181178 * @param ewindow Place to store pointer to window receiving the event
    182179 * @param event Place to store event
    183  * @return EOK on success, ENOENT if event queue is empty
     180 * @return Graphic context
    184181 */
    185182errno_t ds_client_get_event(ds_client_t *client, ds_window_t **ewindow,
     
    202199}
    203200
    204 /** Purge events from client event queue referring to a window.
    205  *
    206  * @param client Client
    207  * @param window Window
    208  */
    209 void ds_client_purge_window_events(ds_client_t *client,
    210     ds_window_t *window)
    211 {
    212         link_t *cur;
    213         link_t *next;
    214         ds_window_ev_t *wevent;
    215 
    216         cur = list_first(&client->events);
    217         while (cur != NULL) {
    218                 next = list_next(cur, &client->events);
    219                 wevent = list_get_instance(cur, ds_window_ev_t, levents);
    220 
    221                 if (wevent->window == window)
    222                         list_remove(cur);
    223 
    224                 cur = next;
    225         }
    226 }
    227 
    228201/** Post close event to the client's message queue.
    229202 *
     
    257230 * @param client Client
    258231 * @param ewindow Window that the message is targetted to
    259  * @param event Focus event data
    260  *
    261  * @return EOK on success or an error code
    262  */
    263 errno_t ds_client_post_focus_event(ds_client_t *client, ds_window_t *ewindow,
    264     display_wnd_focus_ev_t *event)
     232 *
     233 * @return EOK on success or an error code
     234 */
     235errno_t ds_client_post_focus_event(ds_client_t *client, ds_window_t *ewindow)
    265236{
    266237        ds_window_ev_t *wevent;
     
    272243        wevent->window = ewindow;
    273244        wevent->event.etype = wev_focus;
    274         wevent->event.ev.focus = *event;
    275245        list_append(&wevent->levents, &client->events);
    276246
     
    376346 * @param client Client
    377347 * @param ewindow Window that the message is targetted to
    378  * @param event Unfocus event data
    379  *
    380  * @return EOK on success or an error code
    381  */
    382 errno_t ds_client_post_unfocus_event(ds_client_t *client, ds_window_t *ewindow,
    383     display_wnd_unfocus_ev_t *event)
     348 *
     349 * @return EOK on success or an error code
     350 */
     351errno_t ds_client_post_unfocus_event(ds_client_t *client, ds_window_t *ewindow)
    384352{
    385353        ds_window_ev_t *wevent;
     
    391359        wevent->window = ewindow;
    392360        wevent->event.etype = wev_unfocus;
    393         wevent->event.ev.unfocus = *event;
    394361        list_append(&wevent->levents, &client->events);
    395362
Note: See TracChangeset for help on using the changeset viewer.