diff --git a/Asuro.iso b/Asuro.iso index 4203c20c..7b585169 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/bin/kernel.bin b/bin/kernel.bin index c3ed4255..a6b12364 100755 Binary files a/bin/kernel.bin and b/bin/kernel.bin differ diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index c3ed4255..a6b12364 100755 Binary files a/iso/boot/asuro.bin and b/iso/boot/asuro.bin differ diff --git a/lib/asuro.ppu b/lib/asuro.ppu index 869acf29..6389dcda 100644 Binary files a/lib/asuro.ppu and b/lib/asuro.ppu differ diff --git a/lib/console.o b/lib/console.o index a6a19795..96975d67 100644 Binary files a/lib/console.o and b/lib/console.o differ diff --git a/lib/console.ppu b/lib/console.ppu index 884e9e3d..adc4b945 100644 Binary files a/lib/console.ppu and b/lib/console.ppu differ diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 7c45ab95..14ef1d26 100644 Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index 09caf2c9..669537f2 100644 Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index cca032b0..b7c71457 100644 Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ diff --git a/src/console.pas b/src/console.pas index 1990b978..8ac8571c 100644 --- a/src/console.pas +++ b/src/console.pas @@ -724,20 +724,27 @@ begin end; if UnhandledClick then begin if UnhandledClickLeft then begin - SelectedWindow:= WindowTitleMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)]; - if SelectedWindow = 0 then SelectedWindow:= WindowMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)]; - if SelectedWindow <> 0 then begin - if WindowManager.Windows[SelectedWindow] <> nil then begin - if WindowManager.Windows[SelectedWindow]^.ShellWND then FocusZOrder(SelectedWindow); + SelectedWindow:= WindowMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)]; + if (SelectedWindow <> 0) and (WindowManager.Windows[SelectedWindow] <> nil) and (WindowManager.Z_Order[0] = SelectedWindow) then begin + //OnClickHandler(Left) + end else begin + if SelectedWindow = 0 then SelectedWindow:= WindowTitleMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)]; + if SelectedWindow <> 0 then begin + if WindowManager.Windows[SelectedWindow] <> nil then begin + if WindowManager.Windows[SelectedWindow]^.ShellWND then FocusZOrder(SelectedWindow); + end; + end; + SelectedWindow:= ExitMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)]; + if SelectedWindow <> 0 then begin + closeWindow(SelectedWindow); end; - end; - SelectedWindow:= ExitMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)]; - if SelectedWindow <> 0 then begin - closeWindow(SelectedWindow); end; end; if not UnhandledClickLeft then begin - + SelectedWindow:= WindowMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)]; + if (SelectedWindow <> 0) and (WindowManager.Windows[SelectedWindow] <> nil) and (WindowManager.Z_Order[0] = SelectedWindow) then begin + //OnClickHandler(Right) + end; end; UnhandledClick:= false; end;