awesome/objects
Uli Schlachter 13e8088d62 Handle unexpected XCB failures (#1260)
We have many places where we are sending an XCB request and expect an
answer where the protocol guarantees that no error can occur and we are
sure to get an answer. However, for example if the X11 server crashes,
these places can still fail. This commit tries to handle failures at all
these places.

I went through the code and tried to add missing error checking (well,
NULL-pointer-checking) to all affected places.

In most cases these errors are just silently ignored. The exception is
in screen querying during startup. If, for example, querying RandR info
fails, we will fall back to Xinerama or zaphod mode. This is serious
enough that it warrants a warning. In most cases, we should exit shortly
afterwards anyway, because, as explained above, these requests should
only fail when our connection to the X11 server breaks.

References: https://github.com/awesomeWM/awesome/issues/1205#issuecomment-265869874
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-12-10 00:48:53 +01:00
..
button.c Remove @release @AWESOME_VERSION@ everywhere (#1157) 2016-10-09 22:36:20 +02:00
button.h Clean up header includes 2014-03-30 20:07:48 +02:00
client.c doc: fix context doc 2016-11-22 01:15:35 +01:00
client.h Only configure client geometries once per main loop iteration 2016-09-15 18:48:56 +02:00
drawable.c Remove @release @AWESOME_VERSION@ everywhere (#1157) 2016-10-09 22:36:20 +02:00
drawable.h drawable/drawin: Pass both lua_State and stack index around 2014-12-06 10:46:45 +01:00
drawin.c Remove @release @AWESOME_VERSION@ everywhere (#1157) 2016-10-09 22:36:20 +02:00
drawin.h drawin: lazily configure drawin windows 2015-08-23 15:25:23 +02:00
key.c Remove @release @AWESOME_VERSION@ everywhere (#1157) 2016-10-09 22:36:20 +02:00
key.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
screen.c Handle unexpected XCB failures (#1260) 2016-12-10 00:48:53 +01:00
screen.h Fix a bug moving between a tiled and a floating screen. 2016-09-02 20:15:00 +01:00
tag.c Remove @release @AWESOME_VERSION@ everywhere (#1157) 2016-10-09 22:36:20 +02:00
tag.h Attempt at better handling of NET_CURRENT_DESKTOP property. 2016-06-04 16:42:54 +03:00
window.c C: Remove unneeded calls to signal_add() 2016-06-04 17:57:08 +02:00
window.h geometry: Use the relevant rounding functions instead of integers 2016-04-18 04:20:22 -04:00