Пример #1
0
        private short HandleError(IntPtr display, ref XErrorEvent errorEvent)
        {
            try
            {
                if (this._config.DebuggingMode)
                {
                    var builder = new StringBuilder();
                    builder.AppendLine("X error received: ");
                    builder.AppendLine("type " + errorEvent.type);
                    builder.AppendLine("serial " + errorEvent.serial);
                    builder.AppendLine("error_code " + errorEvent.error_code);
                    builder.AppendLine("request_code " + errorEvent.request_code);
                    builder.AppendLine("minor_code " + errorEvent.minor_code);

                    Logger.Instance.Log.Warn(builder.ToString());
                }

                return(0);
            }
            catch (Exception exception)
            {
                Logger.Instance.Log.Error("Error in LinuxGtk3Host::HandleError");
                Logger.Instance.Log.Error(exception);
            }

            return(0);
        }
Пример #2
0
 private int HandleError(IntPtr display, ref XErrorEvent evt)
 {
     ISLogger.Write("------------------------X ERROR--------------------------");
     ISLogger.Write("REQUEST = " + evt.request_code);
     ISLogger.Write("MINOR CODE = " + evt.minor_code);
     ISLogger.Write("CODE = " + evt.error_code);
     ISLogger.Write("MESSAGE = {0}", GetErrorString(evt.error_code));
     ISLogger.Write("------------------------X ERROR--------------------------");
     return(0);
 }
Пример #3
0
        public static void ThrowLastError(string desc)
        {
            var err = LastError;

            LastError = new XErrorEvent();
            if (err.error_code == 0)
            {
                throw new X11Exception(desc);
            }
            throw new X11Exception(desc + ": " + err.error_code);
        }
Пример #4
0
        public int ErrorHandler(XErrorEvent e)
        {
//      if ((e.error_code == XErrorCode.BadAccess) &&
//           (e.resourceid == root.Handle))
//      {
//        Console.WriteLine("The root window unavailable!");
//        Environment.Exit(-1);
//      }

            return(0);
        }
Пример #5
0
        public int ErrorHandler(IntPtr display, ref XErrorEvent ev)
        {
            if (ev.error_code == 10) // BadAccess, i.e. another window manager has already claimed those privileges.
            {
                Log.Error("X11 denied access to window manager resources - another window manager is already running");
                Environment.Exit(1);
            }

            // Other runtime errors and warnings.
            var description = Marshal.AllocHGlobal(1024);

            Xlib.XGetErrorText(display, ev.error_code, description, 1024);
            var desc = Marshal.PtrToStringAnsi(description);

            Log.Warn($"X11 Error: {desc}");
            Marshal.FreeHGlobal(description);
            return(0);
        }
Пример #6
0
        protected virtual short HandleError(IntPtr display, ref XErrorEvent errorEvent)
        {
            try
            {
                if (this._debugging && errorEvent.request_code > 0 && errorEvent.error_code > 0)
                {
                    var errorMsgSb = new StringBuilder(160);
                    XGetErrorText(display, errorEvent.error_code, errorMsgSb, errorMsgSb.Capacity);
                    var requestType = GetRequestType(errorEvent.request_code);
                    Logger.Instance.Log.Warn($"Request Code: {errorEvent.request_code}\tRequest Type: {requestType}\tX11 Error: {errorMsgSb.ToString()}");
                }

                return(0);
            }
            catch (Exception exception)
            {
                Logger.Instance.Log.Error("Error in LinuxGtk3Host::HandleError");
                Logger.Instance.Log.Error(exception);
            }

            return(0);
        }
Пример #7
0
 static int Handler(IntPtr display, ref XErrorEvent error)
 {
     LastError = error;
     return(0);
 }
Пример #8
0
 static int HandleError(IntPtr display, ref XErrorEvent error_event)
 {
     return(0);
 }
Пример #9
0
 static int ErrorHandler(IntPtr displayHandle, ref XErrorEvent errorEvent)
 {
     Console.WriteLine($"XError: {errorEvent.type} result is {errorEvent.error_code}");
     Console.Out.Flush();
     return(0);
 }
        private static int IgnoreBadWindowHandler(IntPtr display, ref XErrorEvent errorEvent)
        {
            if (errorEvent.error_code != XErrorCode.BadWindow && originalEventHandler != null)
            {
                originalEventHandler(display, ref errorEvent);
            }

            return 0;
        }