ドリコムRSSのClip!の削除に対応しようとしてるんだけど

削除処理自体は問題なく動いてるんだけど

謎の挙動が2件。いまだに原因不明。


(1) 削除に必要な情報(articleID)などを取得する処理が動いているとき、ダイアログ再描画のためのメッセージループ中の SetFocus() で落ちる(assertion に引っかかる)。どうも自ウィンドウのハンドルが取れなくて、ここはどこ、私は誰状態になっている模様。いろいろ試行錯誤してみたところ、どうも http 通信中にダイアログの再描画イベントが発生すると、この現象が発生するらしい。他のソーシャルブックマーク(ドリコムRSS以外)では起きたことがないので、ドリコムRSS絡みの処理のどこかに問題があるのは確か。ただし、「削除(のための取得)」ではなく、単なる「取得」(「同期(のための取得)」も含む)では、この現象は発生していません。あと、試しに http 通信中は通信が終わるまでダイアログ再描画を抑制するようにしてみたら、現象が発生しにくくなる効果はあったものの、完全に発生しなくなるわけではないことが判明。根本的な原因は、もっと他のところにあるみたい。


(2) 上記現象を(デバッガによる各種操作で)抑制して何とか削除処理にこぎつけた後、削除を終了してダイアログを閉じようとしたところで、Access Violation が発生する。これも、他のソーシャルブックマークでは発生せず、ドリコムRSS のときだけ発生。基本的にやってる処理は同じ(サーバに送る http リクエストが違うだけ)。


という感じで、未解決の致命的な不具合が2件。あと、無理やりダイアログ再描画が発生しないようにしてテストすると、情報取得が終わって削除ダイアログを出そうとするまでの一連の処理のどこかでスタックオーバーフロー(おそらく無限に再帰呼び出ししている)が発生するという罠。これも今のところ、原因不明。