Thanks Paul
Yesterday I noticed that some of the lazarus files in my usr folder
were not up-to-date with the svn. They were about a week old.
Had been using a script which downloads the svn and compiles the
code, and something must have 'silently' failed in that script last
time I ran it a few days ago.
Anyway, after rebuilding lazarus yesterday, the Screen.Cursor issues
I was seeing, are solved. Perhaps there could be other cursor issues,
but the SetCursor problems in my program are gone. Those issues were:
1. Some non-windowed controls did not show their cursor when you
would mouse over them.
2. Programmatically setting the cursor on a non-windowed control did
not change the onscreen cursor. In the program I'm working on, I
change the cursor in a TPaintBox according to mouse position inside
regions of the TPaintBox (depending on what happens to be drawn
inside the TPaintBox). That is now working great.
So maybe the problem was fixed in the svn sometime longer ago, but am
guessing that the fix occurred in about the last week.
Perhaps some other fix in the carbon code had the happy side-effect
of fixing the cursor problem.
I had not submitted a bug report on the issue, because was trying to
find a fix to submit. So there isn't any 'invalid uncleared' report
on the BugTracker from me, on SetCursor().
jcjr
Anyway
On Oct 7, 2007, at 9:53 PM, Paul Ishenin wrote:
James Chandler Jr wrote:
I need to go back and look more closely, but cursor-setting (for
both controls whose cursors work and controls whose cursors don't
work) eventually passes thru a SetTempCursor(). But there may be
more than one instance of a SetTempCursor() method in there
somewhere. Would need to look closer.
I think that CarbonCommon_SetCursor (CarbonPrivateCommon.inc)
brings problem.
function CarbonCommon_SetCursor(...
...
ACursor := Screen.Cursor;
if ACursor = crDefault then
begin
ACursor := AWidget.LCLObject.Cursor; <-- here is problem
end;
WidgetSet.SetCursor(Screen.Cursors[ACursor]);
...
AWidget.LCLObject is TWinControl, so all the time it will parent of
our graphic control. To solve problem we must search for child
Controls (not WinControls) that are placed on our AWidget.LCLObject.
Carbon is the most difficult (for developing) widgetset for me
since I have no Mac :) I hope you or Tomas or Felipe can fix
problem. Or I will try myself but later.
Best regards,
Paul Ishenin.
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives