System.Windows.Forms.XplatUIX11.HandleError C# (CSharp) Method

HandleError() private method

private HandleError ( IntPtr display, XErrorEvent &error_event ) : int
display IntPtr
error_event XErrorEvent
return int
		private int HandleError (IntPtr display, ref XErrorEvent error_event)
		{
			// we need to workaround a problem with the
			// ordering of destruction of Drawables and
			// Pictures that exists between cairo and
			// RENDER on the server.
			if (error_event.request_code == (XRequest)render_major_opcode
			    && error_event.minor_code == 7 /* X_RenderFreePicture from render.h */
			    && error_event.error_code == render_first_error + 1 /* BadPicture from render.h */) {
				return 0;
			}

			if (ErrorExceptions) {
				XUngrabPointer (display, IntPtr.Zero);
				throw new XException (error_event.display, error_event.resourceid,
						      error_event.serial, error_event.error_code,
						      error_event.request_code, error_event.minor_code);
			} else {
				Console.WriteLine("X11 Error encountered: {0}{1}\n",
						  XException.GetMessage (error_event.display, error_event.resourceid,
									 error_event.serial, error_event.error_code,
									 error_event.request_code, error_event.minor_code),
						  Environment.StackTrace);
			}
			return 0;
		}
XplatUIX11