Changes in uspace/srv/hid/compositor/compositor.c [feeac0d:cf02eaf] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/hid/compositor/compositor.c
rfeeac0d rcf02eaf 335 335 } 336 336 337 list_foreach(viewport_list, link, viewport_t, vp) { 337 list_foreach(viewport_list, link) { 338 viewport_t *vp = list_get_instance(link, viewport_t, link); 338 339 sysarg_t w_vp, h_vp; 339 340 surface_get_resolution(vp->surface, &w_vp, &h_vp); … … 353 354 fibril_mutex_lock(&pointer_list_mtx); 354 355 355 list_foreach(pointer_list, link, pointer_t, ptr) { 356 list_foreach(pointer_list, link) { 357 pointer_t *ptr = list_get_instance(link, pointer_t, link); 356 358 ptr->pos.x = ptr->pos.x > viewport_bound_rect.x ? ptr->pos.x : viewport_bound_rect.x; 357 359 ptr->pos.y = ptr->pos.y > viewport_bound_rect.y ? ptr->pos.y : viewport_bound_rect.y; … … 372 374 fibril_mutex_lock(&pointer_list_mtx); 373 375 374 list_foreach(viewport_list, link, viewport_t, vp) { 376 list_foreach(viewport_list, link) { 377 375 378 /* Determine what part of the viewport must be updated. */ 379 viewport_t *vp = list_get_instance(link, viewport_t, link); 376 380 sysarg_t x_dmg_vp, y_dmg_vp, w_dmg_vp, h_dmg_vp; 377 381 surface_get_resolution(vp->surface, &w_dmg_vp, &h_dmg_vp); … … 442 446 } 443 447 444 list_foreach(pointer_list, link, pointer_t, ptr) { 448 list_foreach(pointer_list, link) { 449 450 pointer_t *ptr = list_get_instance(link, pointer_t, link); 445 451 if (ptr->ghost.surface) { 446 452 … … 516 522 } 517 523 518 list_foreach(pointer_list, link , pointer_t, ptr) {524 list_foreach(pointer_list, link) { 519 525 520 526 /* Determine what part of the pointer intersects with the 521 527 * updated area of the current viewport. */ 528 pointer_t *ptr = list_get_instance(link, pointer_t, link); 522 529 sysarg_t x_dmg_ptr, y_dmg_ptr, w_dmg_ptr, h_dmg_ptr; 523 530 surface_t *sf_ptr = ptr->cursor.states[ptr->state]; … … 562 569 563 570 /* Notify visualizers about updated regions. */ 564 list_foreach(viewport_list, link, viewport_t, vp) { 571 list_foreach(viewport_list, link) { 572 viewport_t *vp = list_get_instance(link, viewport_t, link); 565 573 sysarg_t x_dmg_vp, y_dmg_vp, w_dmg_vp, h_dmg_vp; 566 574 surface_get_damaged_region(vp->surface, &x_dmg_vp, &y_dmg_vp, &w_dmg_vp, &h_dmg_vp); … … 623 631 624 632 fibril_mutex_lock(&pointer_list_mtx); 625 list_foreach(pointer_list, link, pointer_t, pointer) { 633 list_foreach(pointer_list, link) { 634 pointer_t *pointer = list_get_instance(link, pointer_t, link); 626 635 if (pointer->id == pos_id) { 627 636 pointer->grab_flags = pointer->pressed ? grab_flags : GF_EMPTY; … … 701 710 { 702 711 fibril_mutex_lock(&window_list_mtx); 703 704 list_foreach(window_list, link, window_t, window) { 712 window_t *window = NULL; 713 list_foreach(window_list, link) { 714 window = list_get_instance(link, window_t, link); 705 715 if (window == target) { 706 716 prodcons_produce(&window->queue, &event->link); 707 fibril_mutex_unlock(&window_list_mtx);708 return;709 }710 }711 717 } 718 } 719 if (!window) { 720 free(event); 721 } 712 722 fibril_mutex_unlock(&window_list_mtx); 713 free(event);714 723 } 715 724 … … 854 863 window_t *win = NULL; 855 864 fibril_mutex_lock(&window_list_mtx); 856 list_foreach(window_list, link, window_t, cur) { 865 list_foreach(window_list, link) { 866 window_t *cur = list_get_instance(link, window_t, link); 857 867 if (cur->in_dsid == service_id || cur->out_dsid == service_id) { 858 868 win = cur; … … 997 1007 /* Close all clients and their windows. */ 998 1008 fibril_mutex_lock(&window_list_mtx); 999 list_foreach(window_list, link, window_t, win) { 1009 list_foreach(window_list, link) { 1010 window_t *win = list_get_instance(link, window_t, link); 1000 1011 window_event_t *event = (window_event_t *) malloc(sizeof(window_event_t)); 1001 1012 if (event) { … … 1023 1034 viewport_t *vp = NULL; 1024 1035 fibril_mutex_lock(&viewport_list_mtx); 1025 list_foreach(viewport_list, link, viewport_t, cur) { 1036 list_foreach(viewport_list, link) { 1037 viewport_t *cur = list_get_instance(link, viewport_t, link); 1026 1038 if (cur->dsid == (service_id_t) IPC_GET_ARG1(*icall)) { 1027 1039 vp = cur; … … 1559 1571 1560 1572 /* Determine the window which the mouse click belongs to. */ 1561 list_foreach(window_list, link , window_t, cw) {1562 win = cw;1573 list_foreach(window_list, link) { 1574 win = list_get_instance(link, window_t, link); 1563 1575 if (win->surface) { 1564 1576 surface_get_resolution(win->surface, &width, &height);
Note:
See TracChangeset
for help on using the changeset viewer.