315 { 0x00007ffff7b91460 <+0>: push rbp 0x00007ffff7b91461 <+1>: mov rbp,rsp 0x00007ffff7b91464 <+4>: push r15 0x00007ffff7b91466 <+6>: push r14 0x00007ffff7b91468 <+8>: push r13 0x00007ffff7b9146a <+10>: push r12 0x00007ffff7b9146c <+12>: mov r12d,esi 0x00007ffff7b9146f <+15>: push rbx 0x00007ffff7b91470 <+16>: and rsp,0xffffffffffffffe0 0x00007ffff7b91474 <+20>: sub rsp,0x100 316 if (id < 0) { 0x00007ffff7b9147b <+27>: test esi,esi 0x00007ffff7b9147d <+29>: js 0x7ffff7b91758 317 id = Kephal::ScreenUtils::primaryScreenId(); 0x00007ffff7b91758 <+760>: mov QWORD PTR [rsp+0x28],rdi 0x00007ffff7b9175d <+765>: call 0x7ffff7b83210 <_ZN6Kephal11ScreenUtils15primaryScreenIdEv@plt> 0x00007ffff7b91762 <+770>: mov rdi,QWORD PTR [rsp+0x28] 0x00007ffff7b91767 <+775>: mov r12d,eax 0x00007ffff7b9176a <+778>: jmp 0x7ffff7b91483 0x00007ffff7b9176f: nop 0x00007ffff7b91770: nop 0x00007ffff7b91771: data32 data32 data32 data32 data32 nop WORD PTR cs:[rax+rax*1+0x0] 318 } 319 320 QRect r(screenGeometry(id)); 0x00007ffff7b91483 <+35>: mov rax,QWORD PTR [rdi] 0x00007ffff7b91486 <+38>: mov esi,r12d 0x00007ffff7b91489 <+41>: call QWORD PTR [rax+0x108] 0x00007ffff7b9148f <+47>: mov r14,rax 0x00007ffff7b91492 <+50>: mov rbx,rdx 0x00007ffff7b9149d <+61>: mov QWORD PTR [rsp+0x40],rax 0x00007ffff7b914a2 <+66>: mov r15d,eax 0x00007ffff7b914a5 <+69>: shr r14,0x20 0x00007ffff7b914a9 <+73>: mov QWORD PTR [rsp+0x48],rdx 0x00007ffff7b914ae <+78>: mov r13d,edx 0x00007ffff7b914b1 <+81>: shr rbx,0x20 0x00007ffff7b914b5 <+85>: mov QWORD PTR [rsp+0x80],rax 0x00007ffff7b914bd <+93>: mov QWORD PTR [rsp+0x88],rdx 0x00007ffff7b91720 <+704>: mov DWORD PTR [rsp+0x3c],ebx 0x00007ffff7b91724 <+708>: jmp 0x7ffff7b915b7 0x00007ffff7b91729 <+713>: nop DWORD PTR [rax+0x0] 321 volatile QRect r2(r); 0x00007ffff7b91495 <+53>: mov QWORD PTR [rsp+0x90],rax 0x00007ffff7b914c5 <+101>: mov QWORD PTR [rsp+0x98],rdx 322 323 foreach (PanelView *view, PlasmaApp::self()->panelViews()) { 0x00007ffff7b914cd <+109>: call 0x7ffff7bb7b40 0x00007ffff7b914d2 <+114>: lea rdi,[rsp+0x70] 0x00007ffff7b914d7 <+119>: mov rsi,rax 0x00007ffff7b914da <+122>: call 0x7ffff7bb0540 0x00007ffff7b9151d <+189>: lea rdi,[rsp+0x70] 0x00007ffff7b9154f <+239>: call 0x7ffff7b8c100 ::~QList()> 0x00007ffff7b91554 <+244>: mov ecx,DWORD PTR [rsp+0xe8] 0x00007ffff7b9155b <+251>: test ecx,ecx 0x00007ffff7b9155d <+253>: jne 0x7ffff7b91720 0x00007ffff7b9156b <+267>: mov DWORD PTR [rsp+0x3c],ebx 0x00007ffff7b9156f <+271>: cmp rax,QWORD PTR [rsp+0xf8] 0x00007ffff7b91577 <+279>: je 0x7ffff7b915b7 0x00007ffff7b91579 <+281>: nop DWORD PTR [rax+0x0] 0x00007ffff7b91580 <+288>: mov rbx,QWORD PTR [rax] 0x00007ffff7b9159c <+316>: mov edx,DWORD PTR [rsp+0xe8] 0x00007ffff7b915a7 <+327>: test edx,edx 0x00007ffff7b915b1 <+337>: je 0x7ffff7b91648 0x00007ffff7b91648 <+488>: cmp rax,QWORD PTR [rsp+0xf8] 0x00007ffff7b91650 <+496>: jne 0x7ffff7b91580 0x00007ffff7b91656 <+502>: jmp 0x7ffff7b915b7 0x00007ffff7b9165b <+507>: nop DWORD PTR [rax+rax*1+0x0] 324 if (view->screen() == id && view->visibilityMode() == PanelView::NormalPanel) { 0x00007ffff7b91583 <+291>: mov rdi,rbx 0x00007ffff7b91586 <+294>: call 0x7ffff7b83db0 <_ZNK6Plasma4View6screenEv@plt> 0x00007ffff7b9158b <+299>: cmp eax,r12d 0x00007ffff7b9158e <+302>: je 0x7ffff7b91660 0x00007ffff7b91660 <+512>: mov rdi,rbx 0x00007ffff7b91663 <+515>: call 0x7ffff7ba2f60 0x00007ffff7b91668 <+520>: test eax,eax 0x00007ffff7b9166a <+522>: jne 0x7ffff7b91594 325 QRect v = view->geometry(); 0x00007ffff7b91677 <+535>: mov edx,DWORD PTR [rax+0x14] 0x00007ffff7b9167a <+538>: mov r8d,DWORD PTR [rax+0x18] 0x00007ffff7b9167e <+542>: mov ecx,DWORD PTR [rax+0x1c] 0x00007ffff7b91681 <+545>: mov esi,DWORD PTR [rax+0x20] 326 volatile QRect v2 = v; 0x00007ffff7b91684 <+548>: mov DWORD PTR [rsp+0xa0],edx 0x00007ffff7b9168b <+555>: mov DWORD PTR [rsp+0xa4],r8d 0x00007ffff7b91693 <+563>: mov rax,QWORD PTR [rsp+0xa0] 0x00007ffff7b9169b <+571>: mov DWORD PTR [rsp+0xa8],ecx 0x00007ffff7b916a2 <+578>: mov DWORD PTR [rsp+0xac],esi 0x00007ffff7b916ba <+602>: mov QWORD PTR [rsp+0xb0],rax 0x00007ffff7b916c2 <+610>: mov rax,QWORD PTR [rsp+0xa8] 0x00007ffff7b916ca <+618>: mov QWORD PTR [rsp+0xb8],rax 327 switch (view->location()) { 0x00007ffff7b91674 <+532>: mov rdi,rbx 0x00007ffff7b916a9 <+585>: mov DWORD PTR [rsp+0x28],edx 0x00007ffff7b916ad <+589>: mov DWORD PTR [rsp+0x18],ecx 0x00007ffff7b916b1 <+593>: mov DWORD PTR [rsp+0x10],esi 0x00007ffff7b916b5 <+597>: mov DWORD PTR [rsp+0x20],r8d 0x00007ffff7b916d2 <+626>: call 0x7ffff7ba2f00 0x00007ffff7b916d7 <+631>: cmp eax,0x4 0x00007ffff7b916da <+634>: mov edx,DWORD PTR [rsp+0x28] 0x00007ffff7b916de <+638>: mov ecx,DWORD PTR [rsp+0x18] 0x00007ffff7b916e2 <+642>: mov esi,DWORD PTR [rsp+0x10] 0x00007ffff7b916e6 <+646>: mov r8d,DWORD PTR [rsp+0x20] 0x00007ffff7b916eb <+651>: je 0x7ffff7b91708 0x00007ffff7b916ed <+653>: jg 0x7ffff7b91730 0x00007ffff7b916ef <+655>: cmp eax,0x3 0x00007ffff7b916f2 <+658>: jne 0x7ffff7b91594 0x00007ffff7b91730 <+720>: cmp eax,0x5 0x00007ffff7b91733 <+723>: je 0x7ffff7b9174a 0x00007ffff7b91735 <+725>: cmp eax,0x6 0x00007ffff7b91738 <+728>: jne 0x7ffff7b91594 328 case Plasma::TopEdge: 329 if (v.bottom() > r.top()) { 0x00007ffff7b916f8 <+664>: cmp esi,r14d 0x00007ffff7b916fb <+667>: cmovg r14d,esi 0x00007ffff7b916ff <+671>: jmp 0x7ffff7b91594 0x00007ffff7b91704 <+676>: nop DWORD PTR [rax+0x0] 330 r.setTop(v.bottom()); 331 } 332 break; 333 334 case Plasma::BottomEdge: 335 if (v.top() < r.bottom()) { => 0x00007ffff7b91708 <+680>: cmp r8d,DWORD PTR [rsp+0x3c] 0x00007ffff7b9170d <+685>: cmovge r8d,DWORD PTR [rsp+0x3c] // if (r.bottom()>=v.top()) { v.top = r.bottom(); } 0x00007ffff7b91713 <+691>: mov DWORD PTR [rsp+0x3c],r8d // r.bottom() = v.top() 0x00007ffff7b91718 <+696>: jmp 0x7ffff7b91594 0x00007ffff7b9171d <+701>: nop DWORD PTR [rax] 336 r.setBottom(v.top()); 337 } 338 break; 339 340 case Plasma::LeftEdge: 341 if (v.right() > r.left()) { 0x00007ffff7b9174a <+746>: cmp ecx,r15d 0x00007ffff7b9174d <+749>: cmovg r15d,ecx 0x00007ffff7b91751 <+753>: jmp 0x7ffff7b91594 0x00007ffff7b91756 <+758>: xchg ax,ax 342 r.setLeft(v.right()); 343 } 344 break; 345 346 case Plasma::RightEdge: 347 if (v.left() < r.right()) { 0x00007ffff7b9173e <+734>: cmp edx,r13d 0x00007ffff7b91741 <+737>: cmovl r13d,edx 0x00007ffff7b91745 <+741>: jmp 0x7ffff7b91594 348 r.setRight(v.left()); 349 } 350 break; 351 352 default: 353 break; 354 } 355 } 356 } 357 358 volatile QRect r3(r); 0x00007ffff7b915c1 <+353>: mov eax,DWORD PTR [rsp+0x3c] 0x00007ffff7b915c5 <+357>: mov DWORD PTR [rsp+0x80],r15d 0x00007ffff7b915cd <+365>: mov DWORD PTR [rsp+0x84],r14d 0x00007ffff7b915d5 <+373>: mov DWORD PTR [rsp+0x88],r13d 0x00007ffff7b915f5 <+405>: mov DWORD PTR [rsp+0x8c],eax 0x00007ffff7b915fc <+412>: mov rax,QWORD PTR [rsp+0x80] 0x00007ffff7b91604 <+420>: mov QWORD PTR [rsp+0xc0],rax 0x00007ffff7b9160c <+428>: mov rax,QWORD PTR [rsp+0x88] 0x00007ffff7b91614 <+436>: mov QWORD PTR [rsp+0xc8],rax 359 360 return r; 0x00007ffff7b915dd <+381>: mov DWORD PTR [rsp+0xd0],r15d 0x00007ffff7b915e5 <+389>: mov DWORD PTR [rsp+0xd4],r14d 0x00007ffff7b915ed <+397>: mov DWORD PTR [rsp+0xd8],r13d 0x00007ffff7b9161c <+444>: mov eax,DWORD PTR [rsp+0x3c] 0x00007ffff7b91620 <+448>: mov DWORD PTR [rsp+0xdc],eax 0x00007ffff7b91627 <+455>: mov rax,QWORD PTR [rsp+0xd0] 0x00007ffff7b9162f <+463>: mov rdx,QWORD PTR [rsp+0xd8] 361 } 0x00007ffff7b91637 <+471>: lea rsp,[rbp-0x28] 0x00007ffff7b9163b <+475>: pop rbx 0x00007ffff7b9163c <+476>: pop r12 0x00007ffff7b9163e <+478>: pop r13 0x00007ffff7b91640 <+480>: pop r14 0x00007ffff7b91642 <+482>: pop r15 0x00007ffff7b91644 <+484>: pop rbp 0x00007ffff7b91645 <+485>: ret 0x00007ffff7b91646 <+486>: xchg ax,ax