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