summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2014-10-23 07:54:05 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2014-10-23 08:06:42 -0500
commitec56c3b8d397aefca9296ada7dc9f0bdf863cfca (patch)
tree12e835b61454910af0ba60d949ce148fc05c4dad /Source/Core
parenta9f0bd72d21bba5c488f73e44426eedaac190023 (diff)
Fixes black screen issue on EGL+X11 systems.
We weren't setting the backbuffer dimensions on this platform when the window is created. This required a resize event to first be fired in order to see anything. So instead do like GLX + X11 platforms do and query the dimensions and set the backbuffer to them. Should fix issue 7666.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/DolphinWX/GLInterface/EGLX11.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/Core/DolphinWX/GLInterface/EGLX11.cpp b/Source/Core/DolphinWX/GLInterface/EGLX11.cpp
index f8f686f147..ab5411604b 100644
--- a/Source/Core/DolphinWX/GLInterface/EGLX11.cpp
+++ b/Source/Core/DolphinWX/GLInterface/EGLX11.cpp
@@ -23,6 +23,16 @@ EGLNativeWindowType cInterfaceEGLX11::InitializePlatform(EGLNativeWindowType hos
int nVisuals;
vi = XGetVisualInfo(dpy, VisualIDMask, &visTemplate, &nVisuals);
+ XWindowAttributes attribs;
+ if (!XGetWindowAttributes(dpy, (Window)host_window, &attribs))
+ {
+ ERROR_LOG(VIDEO, "Window attribute retrieval failed");
+ return 0;
+ }
+
+ s_backbuffer_width = attribs.width;
+ s_backbuffer_height = attribs.height;
+
return (EGLNativeWindowType) XWindow.CreateXWindow((Window) host_window, vi);
}