View Issue Details

IDProjectCategoryView StatusLast Update
0038500LazarusPackagespublic2021-02-23 12:20
ReporterTrevor Roydhouse Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
PlatformAppleOSmacOS 
Product Version2.1 (SVN) 
Summary0038500: [Cocoa] LazMouseAndKeyInput links against Xorg with MacOS Cocoa
DescriptionBy Juha: I changed the summary, description and Steps To Reproduce.
This is not about LHelp any more because LazMouseAndKeyInput package dependency was removed from it.
Now this is purely about LazMouseAndKeyInput.
Steps To ReproduceCompile LazMouseAndKeyInput on macOS aarch64 (presumably also happens on Intel)
Additional InformationlibXtst provides the Xlib-based client API for the XTEST & RECORD extensions.

The XTEST extension is a minimal set of client and server extensions required to completely test the X11 server with no user intervention. This extension is not intended to support general journaling and playback of user actions.

The RECORD extension supports the recording and reporting of all core X protocol and arbitrary X extension protocol.
Tagschm.help, help, lhelp
Fixed in Revision
LazTarget-
WidgetsetCocoa
Attached Files

Relationships

related to 0038250 resolvedJuha Manninen Patches Redone of lHelp 

Activities

Juha Manninen

2021-02-17 09:22

developer   ~0128962

Last edited: 2021-02-17 10:32

View 2 revisions

It must come from the LazMouseAndKeyInput package. See its main unit uses section copied below.
It tests {$IFDEF LCLcarbon}. Now the widgetset in Cocoa.
Please replace it with a correct define and test. I don't have a Mac to test myself. This uses section is the only place with such an IFDEF.
Carbon*Input units may need changes and should be renamed.
The fix affects all applications that use LazMouseAndKeyInput.

--------------------------------------------

unit MouseAndKeyInput;

interface

uses
  MouseInputIntf,
  KeyInputIntf,
  {$IFDEF WINDOWS}
  WinMouseInput,
  WinKeyInput,
  {$ENDIF}
  {$IFDEF UNIX}
    {$IFDEF LCLcarbon}
    CarbonMouseInput,
    CarbonKeyInput,
    {$ELSE}
    XMouseInput,
    XKeyInput,
    {$ENDIF}
  {$ENDIF}
  Classes, SysUtils;

Trevor Roydhouse

2021-02-17 12:02

reporter   ~0128966

That's not it. I successfully compiled git hash baabc32477 from 31 December despite that file being the same. I try to locate the commit that caused the issue...

Trevor Roydhouse

2021-02-17 13:25

reporter   ~0128967

git commit hash d1d8ea2fed / svn 64506 broke it - the previous commit c1a664fed6 / svn 64505 compiles successfully.

Juha Manninen

2021-02-17 14:31

developer   ~0128973

Last edited: 2021-02-17 14:39

View 3 revisions

r64506 changed many files but only one related to chmhelp :
 components/chmhelp/packages/idehelp/chmprog.pas
r64506 surely did not add Xorg dependency which is the essence of your bug report. It was done less than 2 hours later in r64510.

> I successfully compiled git hash baabc32477 from 31 December despite that file being the same.
What is "that file"? LazMouseAndKeyInput has not been changed recently but it was added as a dependency for LHelp.

Your git commit hash is not useful. Please stick with SVN revision numbers. The hash depends on how you got the revision and how the history was changed.
I got Lazarus sources to my local git repo through git-svn link. For r64506 here the hash is a4ac6bf24218c6d.

Trevor Roydhouse

2021-02-17 23:23

reporter   ~0128987

[attempt 2, the previous one having timed out]

I have verified twice that it is svn r64506 that is the first revision to fail to compile with the Xtst linking error. This assumes that:

* the svn revisions mentioned in the git commit log descriptions are accurate;
* git checkout <hash> returns the code to the point of the specified commit;
* git checkout master returns the code to the current point.

I am not a git expert and detest it as the most unintuitive and obtuse rcs I have ever had the misfortune to use, but am forced to use it because Xcode for macOS 11 Big Sur dropped svn support.

As for "that file" I was referring to the one you extracted above. Unless I misunderstood I thought you were suggesting adding/substituting an LCLcocoa define for LCLcarbon. Unfortunately that errors out with an admonition that it is only for an i386 (32 bit) cpu because Apple removed support for most Carbon APIs in the previous version of the operating system when it dropped support for 32 bit applications.

Juha Manninen

2021-02-18 09:27

developer   ~0128990

You did not mention how you got your local git repository.
I like git very much nowadays. You can study details of the history with gitk. Type "gitk --all" to see everything.
r64506 : "Components: Reduce calls to UpperCase() and LowerCase(). Improves performance."
r64510 : "LHelp: Revamp. Issue 0038250, patch from Andrey Sobol."

Somebody must port LazMouseAndKeyInput to Cocoa. It can have IFDEFs to both LCLcocoa and LCLcarbon if need be.

> [attempt 2, the previous one having timed out]
Firefox on Linux here also sends my text to bits' heaven after a timeout. Now I use Falkon which remembers the text after a Back-arrow click. Falkon works well with all pages nowadays. Recommended.

Trevor Roydhouse

2021-02-18 12:22

reporter   ~0128993

See https://forum.lazarus.freepascal.org/index.php/topic,47830.msg343398.html#msg343398 for a version of MouseAndKeyInput for Cocoa.

Issue History

Date Modified Username Field Change
2021-02-17 04:54 Trevor Roydhouse New Issue
2021-02-17 04:54 Trevor Roydhouse Tag Attached: help
2021-02-17 04:54 Trevor Roydhouse Tag Attached: lhelp
2021-02-17 04:54 Trevor Roydhouse Tag Attached: chm.help
2021-02-17 09:22 Juha Manninen Note Added: 0128962
2021-02-17 10:32 Juha Manninen Note Edited: 0128962 View Revisions
2021-02-17 12:02 Trevor Roydhouse Note Added: 0128966
2021-02-17 13:25 Trevor Roydhouse Note Added: 0128967
2021-02-17 14:31 Juha Manninen Note Added: 0128973
2021-02-17 14:32 Juha Manninen Note Edited: 0128973 View Revisions
2021-02-17 14:39 Juha Manninen Note Edited: 0128973 View Revisions
2021-02-17 23:23 Trevor Roydhouse Note Added: 0128987
2021-02-18 09:27 Juha Manninen Note Added: 0128990
2021-02-18 09:28 Juha Manninen Relationship added related to 0038250
2021-02-18 09:40 Juha Manninen Description Updated View Revisions
2021-02-18 09:40 Juha Manninen LazTarget => -
2021-02-18 09:40 Juha Manninen Widgetset => Cocoa
2021-02-18 12:22 Trevor Roydhouse Note Added: 0128993
2021-02-23 12:19 Juha Manninen Summary lhelp now links against an Xorg library which fails on macOS => [Cocoa] LazMouseAndKeyInput links against Xorg with MacOS Cocoa
2021-02-23 12:19 Juha Manninen Description Updated View Revisions
2021-02-23 12:19 Juha Manninen Steps to Reproduce Updated View Revisions
2021-02-23 12:19 Juha Manninen Widgetset Cocoa => Cocoa
2021-02-23 12:20 Juha Manninen Description Updated View Revisions
2021-02-23 12:20 Juha Manninen Widgetset Cocoa => Cocoa
2021-02-23 12:20 Juha Manninen Category Other => Packages
2021-02-23 12:20 Juha Manninen Widgetset Cocoa => Cocoa