View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0020394||Lazarus||LCL||public||2011-10-02 20:58||2011-10-23 03:15|
|Reporter||Felipe Monteiro de Carvalho||Assigned To||Luiz Americo|
|Summary||0020394: Regression: TDBEdit looses information|
|Description||Attached a test project. Steps to reproduce:|
1> Start the application
2> Click on the TDBEdit, copy part of the text from this edit to itself (for example somewhere in the beginning of it)
3> Now write something
It looses what was previously there from the copy
I can reproduce in Mac and in Linux. (didn't test Windows)
I found that this revision introduces the issue:
|Tags||No tags attached.|
|Fixed in Revision||33035|
sdf.zip (345,249 bytes)
I verified that the edit control is created correct and we get a positive result from the installation of the event handler (from carbonprivatecontrol.inc line 225):
TmpSpec := MakeEventSpec(kEventClassCommand, kEventCommandProcess);
1, @TmpSpec, Pointer(Self), nil); <-- Here it returns True
So I think we are totally cornered. As far as I can tell this is a bug in Mac OS X, and I don't see how to obtain that event. Everything is done correct. It just doesn't send us the event...
||Maybe always start the database in editing mode in LCLCarbon?|
> Maybe always start the database in editing mode in LCLCarbon?
There's two options:
1) Put in edit state as soon as enter control in LCLCarbon. It seems safe but can have side effects.
2) Revert to the old behavior. It's was a subtle bug, less annoying but still a bug that can lead to data loss.
I like solution 1.
What was the old bug from solution 2?
> What was the old bug from solution 2
Paste some text.
Exit from control without editing
Pasted text is lost
||Ok, so could you implement solution 1? I think that this might be a problem to implement because the LCL does not receive the LCLCarbon define. But maybe it should, I also want this for LCLAndroid.|
If the LCL would need the LCLCarbon define, it means that the LCL needs to be recompiled for each different widget set.
Better query the widget for some capability and keep the LCL widget set independent.
Indeed, you are right ... the build system would need to be changed, so we need to use a mechanism to query capabilities. I think that there is already that somewhere.
This one could be: AreLMPASTECOPYReliable =D LCLCarbon responds: NO
What I meant is (without change in the build system, but using existing architecture):
Add for example: lcCanPasteCopyReliable
so that it return http://lazarus-ccr.sourceforge.net/docs/lcl/interfacebase/lcl_capability_yes.html by default
and TCarbonWidgetset can return lcl_capability_no.
It is not really about copying and pasting, but rather receiving those messages or not, so I would name it:
Ok, I implemented the capability with the name lcReceivesLMClearCutCopyPasteReliably.
Luiz Americo can you fix the rest? thanks
At first look should not have problems but is unpredictable.
|2011-10-02 20:58||Felipe Monteiro de Carvalho||New Issue|
|2011-10-02 20:58||Felipe Monteiro de Carvalho||File Added: sdf.zip|
|2011-10-02 20:58||Felipe Monteiro de Carvalho||LazTarget||=> -|
|2011-10-02 20:58||Felipe Monteiro de Carvalho||Status||new => assigned|
|2011-10-02 20:58||Felipe Monteiro de Carvalho||Assigned To||=> Luiz Americo|
|2011-10-02 21:38||Felipe Monteiro de Carvalho||LazTarget||- => 0.99.0|
|2011-10-02 21:38||Felipe Monteiro de Carvalho||Description Updated|
|2011-10-13 14:39||Felipe Monteiro de Carvalho||Relationship added||related to 0020475|
|2011-10-13 14:39||Felipe Monteiro de Carvalho||Relationship added||related to 0020330|
|2011-10-17 08:51||Felipe Monteiro de Carvalho||Note Added: 0053077|
|2011-10-17 10:16||Felipe Monteiro de Carvalho||Note Added: 0053082|
|2011-10-20 12:54||Felipe Monteiro de Carvalho||Relationship added||related to 0020528|
|2011-10-20 13:41||Luiz Americo||Note Added: 0053200|
|2011-10-20 16:37||Felipe Monteiro de Carvalho||Note Added: 0053209|
|2011-10-21 00:43||Luiz Americo||Note Added: 0053220|
|2011-10-21 14:03||Felipe Monteiro de Carvalho||Note Added: 0053235|
|2011-10-21 14:15||Vincent Snijders||Note Added: 0053236|
|2011-10-21 14:42||Felipe Monteiro de Carvalho||Note Added: 0053239|
|2011-10-21 15:12||Vincent Snijders||Note Added: 0053241|
|2011-10-21 15:49||Felipe Monteiro de Carvalho||Note Added: 0053242|
|2011-10-22 20:36||Felipe Monteiro de Carvalho||Fixed in Revision||=> 33028|
|2011-10-22 20:36||Felipe Monteiro de Carvalho||Note Added: 0053296|
|2011-10-23 03:14||Luiz Americo||Fixed in Revision||33028 => 33035|
|2011-10-23 03:14||Luiz Americo||Status||assigned => resolved|
|2011-10-23 03:14||Luiz Americo||Resolution||open => fixed|
|2011-10-23 03:14||Luiz Americo||Note Added: 0053314|