Re: [BLACKBOX] Program freezes when window loses focus

From: Douglas G. Danforth <"Douglas>
Date: Tue, 29 Mar 2011 14:08:15 -0700

----boundary-LibPST-iamunique-2052516265_-_- Content-type: text/plain Hello, I am jumping into the middle of this discussion so my comments may not be appropriate. The way I handle keystrokes is to "Wap" a view (see GftWrappers on CPC). When you wrap a view you specify a KeyHandler that is called every time the view is the focus and a key is typed. If the view is not the focus then nothing happens for that view and the rest of the framework keeps running. I don't do any Windows programming. Just use the BB framework. -Doug Danforth On 3/29/2011 1:26 PM, Rex Couture wrote: At 06:42 PM 3/28/2011, Stephen Troy wrote: Thanks, Rex, but it seems as though the application is really, really freezing, and it doesn't seem to respond to anything, up to and including a sledgehammer. Yes, I know. At this point I'm trying to understand it myself. This shows my profound ignorance of Windows programming, but beyond that, I'm trying to find a ReadKey method that works. With just the line REPEAT UNTIL ORD(XYplane.ReadKey()) #0 the display freezes solid if you change focus with the mouse, but it still reponds to the keystroke if you through windows. With REPEAT ProcessMessages UNTIL ORD(k.ReadKey()) # 0; ReadKey is unresponsive, and there are bizarre, unpredictable effects on the BB GUI. (Complete program below) Does BB have any simple, unfailing procedure to read input directly from the keyboard? Evidently XYplane.ReadKey doesn't work. There has to be something. Rex Couture MODULE TestReadKey; (* Not working *) IMPORT k:=XYplane,StdLog, Win:= WinApi; PROCEDURE ProcessMessages; VAR msg: Win.MSG; res: INTEGER; BEGIN WHILE Win.PeekMessage(msg, 0, 0, 0, Win.PM_REMOVE) # 0 DO res := Win.TranslateMessage(msg); res := Win.DispatchMessageA(msg) END END ProcessMessages; PROCEDURE P*; VAR c: CHAR; BEGIN REPEAT ProcessMessages UNTIL ORD(k.ReadKey()) # 0; StdLog.Ln; StdLog.String( 'If you see this, it works'); END P; END TestReadKey. ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy ----boundary-LibPST-iamunique-2052516265_-_- Content-type: application/rtf Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rtf-body.rtf" e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm c3dpc3NcZmNoYXJzZXQwIEFyaWFsO30NCntcZjFcZm1vZGVybiBDb3VyaWVyIE5ldzt9DQp7XGYy XGZuaWxcZmNoYXJzZXQyIFN5bWJvbDt9DQp7XGYzXGZtb2Rlcm5cZmNoYXJzZXQwIENvdXJpZXIg TmV3O319DQp7XGNvbG9ydGJsXHJlZDBcZ3JlZW4wXGJsdWUwO1xyZWQwXGdyZWVuMFxibHVlMjU1 O30NClx1YzFccGFyZFxwbGFpblxkZWZ0YWIzNjAgXGYwXGZzMjQgDQp7XCpcaHRtbHRhZzI0MyA8 IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwv L0VOIj59DQp7XCpcaHRtbHRhZzMgXHBhciB9DQp7XCpcaHRtbHRhZzE5IDxodG1sPn0NCntcKlxo dG1sdGFnMiBccGFyIH0NCntcKlxodG1sdGFnMjQyICAgfQ0Ke1wqXGh0bWx0YWczNCA8aGVhZD59 DQp7XCpcaHRtbHRhZzEgXHBhciB9DQp7XCpcaHRtbHRhZzI0MSAgICAgfQ0Ke1wqXGh0bWx0YWcx IFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDEgICAgIH0NCntcKlxodG1sdGFnMTc3IDx0aXRsZT59DQp7 XCpcaHRtbHRhZzI0MSB9DQp7XCpcaHRtbHRhZzE4NSA8L3RpdGxlPn0NCntcKlxodG1sdGFnMSBc cGFyIH0NCntcKlxodG1sdGFnMjQxICAgfQ0Ke1wqXGh0bWx0YWc0MSA8L2hlYWQ+fQ0Ke1wqXGh0 bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDIgICB9DQp7XCpcaHRtbHRhZzUwIDxib2R5IHRl eHQ9IiMwMDAwMDAiIGJnY29sb3I9IiNmZmZmZmYiPn1caHRtbHJ0ZiBcdmlld2tpbmQ1DQp7XCpc YmFja2dyb3VuZCB7XHNocHtcKlxzaHBpbnN0e1xzcHtcc24gZmlsbENvbG9yfXtcc3YgMTY3Nzcy MTV9fXtcc3B7XHNuIGZGaWxsZWR9e1xzdiAxfX19fX1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAg XHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgICAgfXtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1s cnRmMCBIZWxsbywNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm MCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntcKlxodG1sdGFn MTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0N CntcKlxodG1sdGFnODQgICAgIH1JIGFtIGp1bXBpbmcgaW50byB0aGUgbWlkZGxlIG9mIHRoaXMg ZGlzY3Vzc2lvbiBzbyBteSBjb21tZW50cyBtYXkNCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0 ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAgICAgfW5vdCBiZSBhcHByb3ByaWF0ZS4NCntc KlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFn NCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxy dGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQg ICAgIH1UaGUgd2F5IEkgaGFuZGxlIGtleXN0cm9rZXMgaXMgdG8gIldhcCIgYSB2aWV3IChzZWUg R2Z0V3JhcHBlcnMgb24NCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0K e1wqXGh0bWx0YWc4NCAgICAgfUNQQykuDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBc J2EwXGh0bWxydGYwICBXaGVuIHlvdQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGlu ZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfXdy YXAgYSB2aWV3IHlvdSBzcGVjaWZ5IGEgS2V5SGFuZGxlciB0aGF0IGlzIGNhbGxlZCBldmVyeSB0 aW1lIHRoZQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzg0ICAgICB9dmlldyBpcyB0aGUgZm9jdXMgYW5kDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxo dG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRh Zzg0ICAgICB9YSBrZXkgaXMgdHlwZWQuDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBc J2EwXGh0bWxydGYwICBJZiB0aGUgdmlldyBpcyBub3QgdGhlIGZvY3VzIHRoZW4gbm90aGluZyBo YXBwZW5zDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCANCntcKlxodG1s dGFnODQgICAgIH1mb3IgdGhhdCB2aWV3IGFuZCB0aGUgcmVzdA0Ke1wqXGh0bWx0YWcxMTYgPGJy Pn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0 bWx0YWc4NCAgICAgfW9mIHRoZSBmcmFtZXdvcmsga2VlcHMgcnVubmluZy4NCntcKlxodG1sdGFn ODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgIA0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1c aHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0 YWc4NCAgICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYw IA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfUkgZG9uJ3QgZG8gYW55 IFdpbmRvd3MgcHJvZ3JhbW1pbmcuDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2Ew XGh0bWxydGYwICBKdXN0IHVzZSB0aGUgQkIgZnJhbWV3b3JrLg0Ke1wqXGh0bWx0YWcxMTYgPGJy Pn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0 bWx0YWc4NCAgICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxy dGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfS1Eb3VnIERhbmZv cnRoDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpc aHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+ fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRt bHRhZzg0ICAgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0 ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9T24gMy8yOS8yMDEx IDE6MjYgUE0sIFJleCBDb3V0dXJlIHdyb3RlOg0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRm ICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICAgICB9e1wqXGh0bWx0YWc3Mn1caHRtbHJ0Zlxw YXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnOTYgPGJsb2NrcXVvdGVccGFyICAgICAgIGNpdGU9 Im1pZDo3LjAuMS4wLjEuMjAxMTAzMjkxNDE0NDYuMDFjNGM4YTBAbGV2ZWUud3VzdGwuZWR1Ilxw YXIgICAgICAgdHlwZT0iY2l0ZSI+fVxodG1scnRmIFxwYXINCntcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgICAgICB9DQp7XCpcaHRtbHRhZzEyOCA8cHJl IHdyYXA9IiI+fVxodG1scnRmIHtccGFyZFxwbGFpblxmMVxmczIwIFxodG1scnRmMCBcaHRtbHJ0 ZiB7XGh0bWxydGYwIFxsaTM2MCBBdCAwNjo0MiBQTSAzLzI4LzIwMTEsIFN0ZXBoZW4gVHJveSB3 cm90ZTpccGFyXGh0bWxydGZ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTM2IDwvcHJlPn1caHRt bHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICAg ICAgfQ0Ke1wqXGh0bWx0YWc5NiA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj59XGh0bWxydGYgXHBh cg0Ke1xodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgICAg ICAgfQ0Ke1wqXGh0bWx0YWcxMjggPHByZSB3cmFwPSIiPn1caHRtbHJ0ZiB7XHBhcmRccGxhaW5c ZjFcZnMyMCBcaHRtbHJ0ZjAgXGh0bWxydGYge1xodG1scnRmMCBcbGk3MjAgVGhhbmtzLCBSZXgs IGJ1dCBpdCBzZWVtcyBhcyB0aG91Z2ggdGhlIGFwcGxpY2F0aW9uIGlzIHJlYWxseSwgcmVhbGx5 IGZyZWV6aW5nLCBhbmQgaXQgZG9lc24ndCBzZWVtIHRvIHJlc3BvbmQgdG8gYW55dGhpbmcsIHVw IHRvIGFuZCBpbmNsdWRpbmcgYSBzbGVkZ2VoYW1tZXIuXHBhclxodG1scnRmfVxodG1scnRmMA0K DQp7XCpcaHRtbHRhZzEzNiA8L3ByZT59XGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFn MCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgICAgIH0NCntcKlxodG1sdGFnMTA0IDwvYmxvY2tx dW90ZT59XGh0bWxydGYgfVxwYXINClxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntc KlxodG1sdGFnMjQwICAgICAgIH0NCntcKlxodG1sdGFnMTI4IDxwcmUgd3JhcD0iIj59XGh0bWxy dGYge1xwYXJkXHBsYWluXGYxXGZzMjAgXGh0bWxydGYwIFxodG1scnRmIHtcaHRtbHJ0ZjAgXGxp MzYwIFxsaW5lDQpcbGluZQ0KICAgICAgICBZZXMsIEkga25vdy4gIEF0IHRoaXMgcG9pbnQgSSdt IHRyeWluZyB0byB1bmRlcnN0YW5kIGl0IG15c2VsZi4gIFRoaXMgc2hvd3MgbXkgcHJvZm91bmQg aWdub3JhbmNlIG9mIFdpbmRvd3MgcHJvZ3JhbW1pbmcsIGJ1dCBiZXlvbmQgdGhhdCwgSSdtIHRy eWluZyB0byBmaW5kIGEgUmVhZEtleSBtZXRob2QgdGhhdCB3b3Jrcy4gIFdpdGgganVzdCB0aGUg bGluZVxsaW5lDQpcbGluZQ0KUkVQRUFUIFVOVElMIE9SRChYWXBsYW5lLlJlYWRLZXkoKSkgIzBc bGluZQ0KXGxpbmUNCnRoZSBkaXNwbGF5IGZyZWV6ZXMgc29saWQgaWYgeW91IGNoYW5nZSBmb2N1 cyB3aXRoIHRoZSBtb3VzZSwgYnV0IGl0IHN0aWxsIHJlcG9uZHMgdG8gdGhlIGtleXN0cm9rZSBp ZiB5b3UgDQp7XCpcaHRtbHRhZzg0ICZsdDt9XGh0bWxydGYgPFxodG1scnRmMCBBbHQNCntcKlxo dG1sdGFnODQgJmd0O31caHRtbHJ0ZiA+XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbHQ7fVxo dG1scnRmIDxcaHRtbHJ0ZjAgVGFiDQp7XCpcaHRtbHRhZzg0ICZndDt9XGh0bWxydGYgPlxodG1s cnRmMCAgdGhyb3VnaCB3aW5kb3dzLlxsaW5lDQpcbGluZQ0KV2l0aFxsaW5lDQpcbGluZQ0KUkVQ RUFUXGxpbmUNCiAgICAgICAgUHJvY2Vzc01lc3NhZ2VzXGxpbmUNClVOVElMIE9SRChrLlJlYWRL ZXkoKSkgIyAwO1xsaW5lDQpcbGluZQ0KUmVhZEtleSBpcyB1bnJlc3BvbnNpdmUsIGFuZCB0aGVy ZSBhcmUgYml6YXJyZSwgdW5wcmVkaWN0YWJsZSBlZmZlY3RzIG9uIHRoZSBCQiBHVUkuICAoQ29t cGxldGUgcHJvZ3JhbSBiZWxvdylcbGluZQ0KXGxpbmUNCiAgICAgICAgRG9lcyBCQiBoYXZlIGFu eSBzaW1wbGUsIHVuZmFpbGluZyBwcm9jZWR1cmUgdG8gcmVhZCBpbnB1dCBkaXJlY3RseSBmcm9t IHRoZSBrZXlib2FyZD8gIEV2aWRlbnRseSBYWXBsYW5lLlJlYWRLZXkgZG9lc24ndCB3b3JrLiAg VGhlcmUgaGFzIHRvIGJlIHNvbWV0aGluZy5cbGluZQ0KXGxpbmUNClJleCBDb3V0dXJlXGxpbmUN ClxsaW5lDQpcbGluZQ0KTU9EVUxFIFRlc3RSZWFkS2V5OyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoKiBOb3Qgd29ya2luZyAqKVxsaW5lDQpJTVBPUlQgazo9WFlwbGFuZSxTdGRM b2csIFdpbjo9IFdpbkFwaTtcbGluZQ0KXGxpbmUNClBST0NFRFVSRSBQcm9jZXNzTWVzc2FnZXM7 XGxpbmUNCiAgVkFSIG1zZzogV2luLk1TRzsgcmVzOiBJTlRFR0VSO1xsaW5lDQpCRUdJTlxsaW5l DQogIFdISUxFIFdpbi5QZWVrTWVzc2FnZShtc2csIDAsIDAsIDAsIFdpbi5QTV9SRU1PVkUpICMg MCBET1xsaW5lDQogICAgcmVzIDo9IFdpbi5UcmFuc2xhdGVNZXNzYWdlKG1zZyk7XGxpbmUNCiAg ICByZXMgOj0gV2luLkRpc3BhdGNoTWVzc2FnZUEobXNnKVxsaW5lDQogIEVORFxsaW5lDQpFTkQg UHJvY2Vzc01lc3NhZ2VzO1xsaW5lDQpcbGluZQ0KUFJPQ0VEVVJFIFAqO1xsaW5lDQogICAgICAg IFZBUiBjOiBDSEFSO1xsaW5lDQogICAgICAgIEJFR0lOXGxpbmUNCiAgICAgICAgUkVQRUFUXGxp bmUNCiAgICAgICAgICAgICAgICBQcm9jZXNzTWVzc2FnZXNcbGluZQ0KICAgICAgICBVTlRJTCBP UkQoay5SZWFkS2V5KCkpICMgMDtcbGluZQ0KICAgICAgICBTdGRMb2cuTG47XGxpbmUNCiAgICAg ICAgU3RkTG9nLlN0cmluZyggJ0lmIHlvdSBzZWUgdGhpcywgaXQgd29ya3MnKTtcbGluZQ0KICAg ICAgICBFTkQgUDtcbGluZQ0KRU5EIFRlc3RSZWFkS2V5LiBcbGluZQ0KXGxpbmUNClxsaW5lDQot LS0tXGxpbmUNClRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05P RkYgQkxBQ0tCT1giIHRvIHt9DQp7XCpcaHRtbHRhZzg0IDxhIGNsYXNzPSJtb3otdHh0LWxpbmst YWJicmV2aWF0ZWQiIGhyZWY9Im1haWx0bzpMSVNUU0VSVkBMSVNUUy5PQkVST04uQ0giPn1caHRt bHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJtYWlsdG86TElTVFNFUlZATElTVFMu T0JFUk9OLkNIIn19e1xmbGRyc2x0XGNmMVx1bCBcaHRtbHJ0ZjAgTElTVFNFUlZATElTVFMuT0JF Uk9OLkNIXGh0bWxydGYgfVxodG1scnRmMCBcaHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0 YWc5MiA8L2E+fVxsaW5lDQpcbGluZQ0KXHBhclxodG1scnRmfVxodG1scnRmMA0KDQp7XCpcaHRt bHRhZzEzNiA8L3ByZT59XGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0N CntcKlxodG1sdGFnMjQwICAgICB9DQp7XCpcaHRtbHRhZzEwNCA8L2Jsb2NrcXVvdGU+fVxodG1s cnRmIH1ccGFyDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0 MCAgIH0NCntcKlxodG1sdGFnNTggPC9ib2R5Pn0NCntcKlxodG1sdGFnMiBccGFyIH0NCntcKlxo dG1sdGFnMjcgPC9odG1sPn0NCntcKlxodG1sdGFnMyBccGFyIH0NCntcKlxodG1sdGFnNjQgPHA+ fVxodG1scnRmIHtcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9LS0tLQ0Ke1wqXGh0bWx0 YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNz YWdlIHdpdGggYm9keSAiU0lHTk9GRiBCTEFDS0JPWCIgdG8gTElTVFNFUlZATElTVFMuT0JFUk9O LkNIDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBcaHRtbHJ0Zn19ACBQ TSwgUmV4IENvdXR1 ----boundary-LibPST-iamunique-2052516265_-_--- Received on Tue Mar 29 2011 - 23:08:15 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:16 UTC