aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Screen.c
Commit message (Collapse)AuthorAgeFilesLines
* nxagent: drop CYGWIN and WIN32 definesUlrich Sibiller2020-01-061-34/+0
|
* Screen.c: code simplification/scopeUlrich Sibiller2020-01-061-266/+185
|
* Screen.c: fix handling of NX_SHADOW atomUlrich Sibiller2020-01-061-10/+3
| | | | Needs to be an XlibAtom!
* Screen.c: drop variableUlrich Sibiller2020-01-061-7/+3
|
* nxagent: Use XlibAtom data type where appropriateUlrich Sibiller2020-01-051-1/+1
| | | | | | | | XlibAtom should be used wherever remote atoms are handled. This is important as Xlib data types and server data types of the same name do not always have identical sizes. See also https://lists.freedesktop.org/archives/xorg-devel/2015-August/047245.html
* nxagent: drop Holder.[ch]Ulrich Sibiller2019-11-021-1/+0
| | | | The only left code was nxagentCheckum() which was not compiling anyway.
* Drop unused placeholder codeUlrich Sibiller2019-11-021-11/+0
|
* Screen.c: cleanup code a bitUlrich Sibiller2019-10-101-16/+14
|
* Screen.c: fix a memleakUlrich Sibiller2019-10-101-5/+2
| | | | | | | Remove some code that is no longer needed because the code requiring it has been removed some time ago (commit 643e13bf3de6704f634d60342b738e0002f057b9). Fixes a small memleak that turned up after switching to fullscreen once.
* nxagent: avoid nested externsUlrich Sibiller2019-09-291-16/+10
|
* Screen.c: fix wrong format characterUlrich Sibiller2019-09-291-1/+1
|
* Screen.c: fix typoUlrich Sibiller2019-09-291-1/+1
|
* Screen.c: improve readabilityUlrich Sibiller2019-09-291-12/+10
|
* Imakefile: make NXAGENT_RANDR_MODE_PREFIX configurable via macroUlrich Sibiller2019-09-291-5/+5
|
* Screen.c: fix typo in TEST outputUlrich Sibiller2019-09-291-1/+1
|
* Screen.c: scope improvementsUlrich Sibiller2019-09-291-7/+8
|
* Screen.c: code cleanupUlrich Sibiller2019-09-291-235/+201
| | | | no functional change
* Screen.c: fix: use bit operator, not logic operatorUlrich Sibiller2019-09-291-1/+1
|
* Screen.c: initialize RandR only on startup...Ulrich Sibiller2019-08-271-6/+6
| | | | | | | | ... not on reconnect. After the reconnect RRCloseScreen was called twice which caused a double free. This was introduced with 3b06ad51d91ff2b9442f159cddf34ed03bc2dd35 Fixes ArcticaProject/nx-libs#833
* nxagent: move nxagentWMPassed to Splash.cUlrich Sibiller2019-08-271-4/+1
| | | | It is only relevant there.
* nxagent: rename nxagentWMStart to nxagentReadyAtomUlrich Sibiller2019-08-271-2/+2
| | | | This better reflects its purpose: Tell listeners we are ready.
* Splash.c: move some variables to Splash.cUlrich Sibiller2019-08-271-2/+0
| | | | They belong there...
* Splash.c: nxagentRemoveSplashWindow: drop unused parameterUlrich Sibiller2019-08-271-1/+1
|
* nxagent: simplify nxagentWaitEvents()Ulrich Sibiller2019-08-271-5/+1
| | | | | no more need to pass down a struct, we now only pass the milliseconds and let the function do the rest.
* Screen.c: safe some lines by calling SAFE_XFreeUlrich Sibiller2019-08-061-44/+29
|
* Drop Ipaq supportUlrich Sibiller2019-06-271-32/+5
| | | | Did we ever provide a binary?
* Screen.c: use XlibWindow so silence the compilerUlrich Sibiller2019-06-271-2/+2
| | | | | | | | | | | | | | This is a bit weird, I'd expect far more places where the compiler could complain about Window vs Window64... But it does not. Screen.c:306:32: warning: passing argument 3 of ‘XQueryTree’ from incompatible pointer type [-Wincompatible-pointer-types] if (XQueryTree(d, candidate, &root, &parent, &children, &num_children)) ^~~~~ In file included from Screen.c:60: Agent.h:85:25: note: expected ‘Window64 *’ {aka ‘long unsigned int *’} but argument is of type ‘Window *’ {aka ‘unsigned int *’} #define Window Window64 ../../../../exports/include/nx-X11/Xlib.h:3041:5: note: in expansion of macro ‘Window’ Window* /* root_return */,
* Consistently use None instead of 0 for nxagentIconWindow everywhereUlrich Sibiller2019-06-271-1/+1
|
* Screen.c: simplify nxagentMinimizeFromFullscreenUlrich Sibiller2019-06-271-6/+9
|
* nxagentMaximizeToFullScreen: only reparent if necessaryUlrich Sibiller2019-06-271-21/+56
| | | | | | | | This fixes problems with kwin and compiz when using the switch-all-screens keystroke. The fullscreen would appear shortly and then vanish again. Fixes ArcticaProject/nx-libs#458
* Screen.c: add nxagentIsParentOf helperUlrich Sibiller2019-06-271-0/+22
|
* Screen.c: fix two more memleaks of visualsUlrich Sibiller2019-06-221-0/+2
|
* Screen.c: fix two memleaksUlrich Sibiller2019-06-221-19/+18
| | | | While at it create and use the freeDepths() helper function.
* various scope improvementsUlrich Sibiller2019-06-191-3/+1
|
* Screen.c: more debug outputUlrich Sibiller2019-06-191-1/+4
|
* Screen.c: fix another memory leakUlrich Sibiller2019-06-191-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ==12280== 0 bytes in 5 blocks are definitely lost in loss record 1 of 304 ==12280== at 0x483577F: malloc (vg_replace_malloc.c:299) ==12280== by 0x2EFC29: init_visuals (xf86glx.c:489) ==12280== by 0x2EFC29: __MESA_initVisuals (xf86glx.c:540) ==12280== by 0x17C902: GlxInitVisuals (glxext.c:317) ==12280== by 0x218C03: fbInitVisuals (fbcmap.c:668) ==12280== by 0x20BC41: fbFinishScreenInit (fbscreen.c:229) ==12280== by 0x20C005: fbScreenInit (fbscreen.c:273) ==12280== by 0x1E024C: nxagentOpenScreen (Screen.c:1356) ==12280== by 0x16D828: AddScreen (dispatch.c:4171) ==12280== by 0x1DB7DF: InitOutput (Init.c:396) ==12280== by 0x14DB12: main (main.c:279) ==12280== ==12280== 64 bytes in 2 blocks are definitely lost in loss record 223 of 304 ==12280== at 0x483577F: malloc (vg_replace_malloc.c:299) ==12280== by 0x2EFA05: init_visuals (xf86glx.c:489) ==12280== by 0x2EFA05: __MESA_initVisuals (xf86glx.c:540) ==12280== by 0x17C902: GlxInitVisuals (glxext.c:317) ==12280== by 0x218C03: fbInitVisuals (fbcmap.c:668) ==12280== by 0x20BC41: fbFinishScreenInit (fbscreen.c:229) ==12280== by 0x20C005: fbScreenInit (fbscreen.c:273) ==12280== by 0x1E024C: nxagentOpenScreen (Screen.c:1356) ==12280== by 0x16D828: AddScreen (dispatch.c:4171) ==12280== by 0x1DB7DF: InitOutput (Init.c:396) ==12280== by 0x14DB12: main (main.c:279)
* Screen.c: Fix: make sure RRCloseScreen is being calledUlrich Sibiller2019-06-191-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes ArcticaProject/nx-libs#598 In nxagentOpenScreen we first initialized the RRExtension for the screen and then replaced pScreen->CloseScreen by nxagentCloseScreen. This resulted in RandR's RRCloseScreen (and any other CloseScreen procedure installed by extensions) being no longer called. Moving RandR init after configuring pScreen->CloseScreen ensures the correct calling cascade: RRCloseScreen -> nxagentCloseScreen ->fbCloseScreen (called explicitly by nxagentCloseScreen). Which in turn will fix this memory leak: ==9688== 328 (312 direct, 16 indirect) bytes in 1 blocks are definitely lost in loss record 271 of 319 ==9688== at 0x4837B65: calloc (vg_replace_malloc.c:752) ==9688== by 0x4ED2C6: RRScreenInit (randr.c:329) ==9688== by 0x1F2B18: nxagentInitRandRExtension (Extensions.c:122) ==9688== by 0x1DEAFF: nxagentOpenScreen (Screen.c:1409) ==9688== by 0x16D7F8: AddScreen (dispatch.c:4257) ==9688== by 0x1DA0CF: InitOutput (Init.c:397) ==9688== by 0x14DCC2: main (main.c:280)
* Screen.c: correctly free stuff in nxagentCloseScreenUlrich Sibiller2019-06-191-3/+15
| | | | | | | | | | | | | | fixes a memory leak: ==19074== 2 bytes in 1 blocks are definitely lost in loss record 8 of 313 ==19074== at 0x483577F: malloc (vg_replace_malloc.c:299) ==19074== by 0x1FD83D: fbAllocatePrivates (fballpriv.c:79) ==19074== by 0x20A666: fbSetupScreen (fbscreen.c:110) ==19074== by 0x20A666: fbScreenInit (fbscreen.c:300) ==19074== by 0x1DEA4C: nxagentOpenScreen (Screen.c:1356) ==19074== by 0x16D7F8: AddScreen (dispatch.c:4257) ==19074== by 0x1DA0CF: InitOutput (Init.c:397) ==19074== by 0x14DCC2: main (main.c:280)
* Screen.c: more TEST outputUlrich Sibiller2019-06-111-5/+10
|
* Screen.c: use consistent spacing on pointer referencesUlrich Sibiller2019-06-111-4/+4
|
* Screen.c: whitespace/formatting fixesUlrich Sibiller2019-06-111-21/+22
|
* Screen.c: report both created windows (and with the right name)Ulrich Sibiller2019-06-111-4/+9
|
* Window.c: fix: report correct window on icon window creationUlrich Sibiller2019-06-111-2/+2
|
* Revert "nxagent: rework Bool handling"Ulrich Sibiller2019-02-151-26/+26
| | | | | | | | | | | | This reverts commit 16cd2bbe1c4425e3fa557f9ca0723aa94a50b071. It turned out that I had missed some of the Booleans being actually tristate variables. I think I can fix this (they do not need to be tristate) but I revert this for now to get back to a working state (there are reports about non-working fullscreen mode and reconnect problems). Refers to ArcticaProject/nx-libs#772
* nxagent: rework Bool handlingUlrich Sibiller2019-02-111-26/+26
| | | | drop "== False", "== 0", "== True" and "== 0" for nxagentOptions and Traps
* Screen.c: code optimization for rootless modeUlrich Sibiller2019-02-111-4/+6
| | | | | In rootless mode skip processing user geometry stuff since the values will we overwritten later anyway.
* Screen.c: simplify and fix handling of rootless modeUlrich Sibiller2019-02-111-23/+17
| | | | Fixes: ArcticaProject/nx-libs#765
* Screen.c: fix handling of fullscreen startupUlrich Sibiller2019-01-141-5/+5
| | | | | | | | | If nxagent is started in fullscreen mode take care the saved size (that is applied on exit of the fullscreen mode) will be configured correctly. Also respect a user provided -geometry option (had been ignored here previously). Fixes ArcticaProject/nx-libs#449
* Screen.c: fix size calculation in rootless modeUlrich Sibiller2019-01-141-2/+16
| | | | | | | There's no need to reduce the size to 75% in rootless mode. We always want to have the full size then. Fixes ArcticaProject/nx-libs#757 (Part 2/2)
* Screen.c: improve readability of size calculationsUlrich Sibiller2019-01-141-65/+57
| | | | | | ... by using some short named variables and the min() macro. No change in behaviour.