| 127 | |
| 128 | |
| 129 | void sendGLXError(Display *dpy, CARD16 minorCode, CARD8 errorCode, |
| 130 | bool x11Error) |
| 131 | { |
| 132 | xError error; |
| 133 | int majorCode, errorBase, dummy; |
| 134 | |
| 135 | if(!backend::queryExtension(dpy, &majorCode, &dummy, &errorBase)) |
| 136 | { |
| 137 | if(fconfig.egl) |
| 138 | THROW("The EGL back end requires a 2D X server with a GLX extension."); |
| 139 | else |
| 140 | THROW("The 3D X server does not have a GLX extension."); |
| 141 | } |
| 142 | |
| 143 | if(!fconfig.egl) dpy = DPY3D; |
| 144 | |
| 145 | LockDisplay(dpy); |
| 146 | |
| 147 | error.type = X_Error; |
| 148 | error.errorCode = x11Error ? errorCode : errorBase + errorCode; |
| 149 | error.sequenceNumber = dpy->request; |
| 150 | error.resourceID = 0; |
| 151 | error.minorCode = minorCode; |
| 152 | error.majorCode = majorCode; |
| 153 | _XError(dpy, &error); |
| 154 | |
| 155 | UnlockDisplay(dpy); |
| 156 | } |
| 157 | |
| 158 | |
| 159 | // Called from XOpenDisplay(), unless a GLX function is called first |
no test coverage detected