----boundary-LibPST-iamunique-1889772843_-_-
Content-type: text/plain
Hello, Marc!
>> I've found another problem with your "screen update" fix.
>>
>> I have a Blackbox program which creates X/Y plots
>> in a view window.
MM> Here is an easy way to replicate the problem.
MM> * In the "Obx" menu, select "New Pattern".
MM> A new view will appear.
MM> * Shrink the new view window slightly so
MM> that a vertical scroll bar appears.
MM> * Shrink the Blackbox application window so
MM> you cannot see the bottom of the new view
MM> window (a vertical scroll bar appears).
MM> * Scroll up and down with the scroll wheel
MM> on the mouse. The view does not update
MM> correctly.
Thank you very much for the bug report, Marc!
I had no time to answer, because I participate in a big
international conference, but since I received your letter I'm
working hard to understand the scrolling mechanism of BlackBox. It
turns out to be quite non-trivial...
If you need a quick fix for the problem, simply revert changes to
the HostPorts.Rider.Scroll: flip the fold to restore original code,
compile module and restart BlackBox.
The only side-effect of this revertion you will experience (compared
to complete unpatching) is that autoscrolled text will not be
properly redrawn until you release mouse button. All other
activities involving scrolling will work fine. Right now I'm
trying to understand how does TextControllers.ScrollWhileTracking
work, why does it use Controllers.ForwardVia instead of normal
UpdateWindow, and how to make it repaint text correctly without
returning USER32.ValidateRect into HostPorts.Port.CloseBuffer.
PS: About the conference - I'm just a listener, nothing more. But it
takes all day - morning to evening.
---=====---
Alexander
--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
----boundary-LibPST-iamunique-1889772843_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIEhlbGxvLCBNYXJjIVxwYXINClxwYXINCj4+IEkn
dmUgZm91bmQgYW5vdGhlciBwcm9ibGVtIHdpdGggeW91ciAic2NyZWVuIHVwZGF0ZSIgZml4Llxw
YXINCj4+XHBhcg0KPj4gSSBoYXZlIGEgQmxhY2tib3ggcHJvZ3JhbSB3aGljaCBjcmVhdGVzIFgv
WSBwbG90cyBccGFyDQo+PiBpbiBhIHZpZXcgd2luZG93LlxwYXINClxwYXINCk1NPiBIZXJlIGlz
IGFuIGVhc3kgd2F5IHRvIHJlcGxpY2F0ZSB0aGUgcHJvYmxlbS5ccGFyDQpccGFyDQpNTT4gICAq
IEluIHRoZSAiT2J4IiBtZW51LCBzZWxlY3QgIk5ldyBQYXR0ZXJuIi4gIFxwYXINCk1NPiAgICAg
QSBuZXcgdmlldyB3aWxsIGFwcGVhci5ccGFyDQpccGFyDQpNTT4gICAqIFNocmluayB0aGUgbmV3
IHZpZXcgd2luZG93IHNsaWdodGx5IHNvIFxwYXINCk1NPiAgICAgdGhhdCBhIHZlcnRpY2FsIHNj
cm9sbCBiYXIgYXBwZWFycy5ccGFyDQpccGFyDQpNTT4gICAqIFNocmluayB0aGUgQmxhY2tib3gg
YXBwbGljYXRpb24gd2luZG93IHNvIFxwYXINCk1NPiAgICAgeW91IGNhbm5vdCBzZWUgdGhlIGJv
dHRvbSBvZiB0aGUgbmV3IHZpZXcgXHBhcg0KTU0+ICAgICB3aW5kb3cgKGEgdmVydGljYWwgc2Ny
b2xsIGJhciBhcHBlYXJzKS5ccGFyDQpccGFyDQpNTT4gICAqIFNjcm9sbCB1cCBhbmQgZG93biB3
aXRoIHRoZSBzY3JvbGwgd2hlZWxccGFyDQpNTT4gICAgIG9uIHRoZSBtb3VzZS4gIFRoZSB2aWV3
IGRvZXMgbm90IHVwZGF0ZSBccGFyDQpNTT4gICAgIGNvcnJlY3RseS5ccGFyDQpccGFyDQogIFRo
YW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIHRoZSBidWcgcmVwb3J0LCBNYXJjIVxwYXINCiAgSSBoYWQg
bm8gdGltZSB0byBhbnN3ZXIsIGJlY2F1c2UgSSBwYXJ0aWNpcGF0ZSBpbiBhIGJpZ1xwYXINCiAg
aW50ZXJuYXRpb25hbCBjb25mZXJlbmNlLCBidXQgc2luY2UgSSByZWNlaXZlZCB5b3VyIGxldHRl
ciBJJ21ccGFyDQogIHdvcmtpbmcgaGFyZCB0byB1bmRlcnN0YW5kIHRoZSBzY3JvbGxpbmcgbWVj
aGFuaXNtIG9mIEJsYWNrQm94LiBJdFxwYXINCiAgdHVybnMgb3V0IHRvIGJlIHF1aXRlIG5vbi10
cml2aWFsLi4uXHBhcg0KICBJZiB5b3UgbmVlZCBhIHF1aWNrIGZpeCBmb3IgdGhlIHByb2JsZW0s
IHNpbXBseSByZXZlcnQgY2hhbmdlcyB0b1xwYXINCiAgdGhlIEhvc3RQb3J0cy5SaWRlci5TY3Jv
bGw6IGZsaXAgdGhlIGZvbGQgdG8gcmVzdG9yZSBvcmlnaW5hbCBjb2RlLFxwYXINCiAgY29tcGls
ZSBtb2R1bGUgYW5kIHJlc3RhcnQgQmxhY2tCb3guXHBhcg0KXHBhcg0KICBUaGUgb25seSBzaWRl
LWVmZmVjdCBvZiB0aGlzIHJldmVydGlvbiB5b3Ugd2lsbCBleHBlcmllbmNlIChjb21wYXJlZFxw
YXINCiAgdG8gY29tcGxldGUgdW5wYXRjaGluZykgaXMgdGhhdCBhdXRvc2Nyb2xsZWQgdGV4dCB3
aWxsIG5vdCBiZVxwYXINCiAgcHJvcGVybHkgcmVkcmF3biB1bnRpbCB5b3UgcmVsZWFzZSBtb3Vz
ZSBidXR0b24uIEFsbCBvdGhlclxwYXINCiAgYWN0aXZpdGllcyBpbnZvbHZpbmcgc2Nyb2xsaW5n
IHdpbGwgd29yayBmaW5lLiBSaWdodCBub3cgSSdtXHBhcg0KICB0cnlpbmcgdG8gdW5kZXJzdGFu
ZCBob3cgZG9lcyBUZXh0Q29udHJvbGxlcnMuU2Nyb2xsV2hpbGVUcmFja2luZ1xwYXINCiAgd29y
aywgd2h5IGRvZXMgaXQgdXNlIENvbnRyb2xsZXJzLkZvcndhcmRWaWEgaW5zdGVhZCBvZiBub3Jt
YWxccGFyDQogIFVwZGF0ZVdpbmRvdywgYW5kIGhvdyB0byBtYWtlIGl0IHJlcGFpbnQgdGV4dCBj
b3JyZWN0bHkgd2l0aG91dFxwYXINCiAgcmV0dXJuaW5nIFVTRVIzMi5WYWxpZGF0ZVJlY3QgaW50
byBIb3N0UG9ydHMuUG9ydC5DbG9zZUJ1ZmZlci5ccGFyDQpccGFyDQogIFBTOiBBYm91dCB0aGUg
Y29uZmVyZW5jZSAtIEknbSBqdXN0IGEgbGlzdGVuZXIsIG5vdGhpbmcgbW9yZS4gQnV0IGl0XHBh
cg0KICB0YWtlcyBhbGwgZGF5IC0gbW9ybmluZyB0byBldmVuaW5nLlxwYXINClxwYXINCi0tLT09
PT09LS0tXHBhcg0KIEFsZXhhbmRlclxwYXINClxwYXINCi0tLSBCbGFja0JveFxwYXINCi0tLSBz
ZW5kIHN1YmplY3QgSEVMUCBvciBVTlNVQlNDUklCRSB0byBibGFja2JveEBvYmVyb24uY2h9fQCI
BAAAGgAAAHAA
----boundary-LibPST-iamunique-1889772843_-_---
Received on Wed Sep 13 2006 - 14:15:55 UTC