namespace {
bool error_flag = false;
-std::string error_msg;
+string error_msg;
int x_error_handler(Display *display, XErrorEvent *event)
{
namespace Graphics {
Display::Display(const string &disp_name):
- primary_monitor(0),
- priv(new Private),
- focus_window(0)
+ priv(new Private)
{
if(disp_name.empty())
- priv->display = XOpenDisplay(0);
+ priv->display = XOpenDisplay(nullptr);
else
priv->display = XOpenDisplay(disp_name.c_str());
if(!priv->display)
for(int i=0; i<res->noutput; ++i)
{
XRROutputInfo *output = XRRGetOutputInfo(priv->display, res, res->outputs[i]);
- XRRCrtcInfo *crtc = (output->crtc ? XRRGetCrtcInfo(priv->display, res, output->crtc) : 0);
+ XRRCrtcInfo *crtc = (output->crtc ? XRRGetCrtcInfo(priv->display, res, output->crtc) : nullptr);
monitors.push_back(Monitor());
Monitor &monitor = monitors.back();
int prop_format;
unsigned long length;
unsigned long overflow;
- unsigned char *edid = 0;
+ unsigned char *edid = nullptr;
XRRGetOutputProperty(priv->display, res->outputs[i], edid_prop, 0, 32, false, false, XA_INTEGER, &prop_type, &prop_format, &length, &overflow, &edid);
if(prop_type==XA_INTEGER && prop_format==8)
{
XRRFreeScreenResources(res);
monitors.sort(monitor_x_compare);
- Monitor *prev_enabled = 0;
+ Monitor *prev_enabled = nullptr;
for(Monitor &m: monitors)
if(m.desktop_settings.mode)
{
// Check if the output already has a CRTC and find a free one if it doesn't
RRCrtc crtc = output_info->crtc;
- XRRCrtcInfo *crtc_info = 0;
+ XRRCrtcInfo *crtc_info = nullptr;
if(crtc)
crtc_info = XRRGetCrtcInfo(priv->display, res, crtc);
else
{
XRROutputInfo *o = XRRGetOutputInfo(priv->display, res, priv->monitors[m.index]);
if(o->crtc)
- XRRSetCrtcConfig(priv->display, res, o->crtc, CurrentTime, 0, 0, 0, RR_Rotate_0, 0, 0);
+ XRRSetCrtcConfig(priv->display, res, o->crtc, CurrentTime, 0, 0, 0, RR_Rotate_0, nullptr, 0);
XRRFreeOutputInfo(o);
- m.current_settings.mode = 0;
+ m.current_settings.mode = nullptr;
m.current_settings.rotation = ROTATE_NORMAL;
m.current_settings.x = 0;
m.current_settings.y = 0;