Browse Source

catch tablet initialization error

Johann 5 years ago
parent
commit
5510397f25
2 changed files with 8 additions and 2 deletions
  1. 6 1
      lazpaint/lazpaintmainform.pas
  2. 2 1
      lazpaint/tablet/laztabletwin.pas

+ 6 - 1
lazpaint/lazpaintmainform.pas

@@ -947,7 +947,12 @@ begin
   btnLeftDown := false;
   btnRightDown := false;
   btnMiddleDown:= false;
-  FTablet := TLazTablet.Create(self);
+  try
+    FTablet := TLazTablet.Create(self);
+  except
+    on ex: exception do
+      FTablet := nil;
+  end;
   spacePressed:= false;
   altPressed:= false;
   snapPressed:= false;

+ 2 - 1
lazpaint/tablet/laztabletwin.pas

@@ -81,6 +81,7 @@ var
   AContext: TLogContext;
 begin
   inherited Create(AOwner);
+  FTablet := nil;
   FTablet := TTablet.Create(Self);
 
   FTablet.OnPacket := @TabletPacket;
@@ -118,7 +119,7 @@ end;
 
 destructor TCustomLazTablet.Destroy;
 begin
-  FTablet.Close;
+  if Assigned(FTablet) then FTablet.Close;
   inherited Destroy;
 end;