2chBrowser OpenJane@Win板 Part11

このエントリーをはてなブックマークに追加
520View ◆tCDoSWbtb.
Viewで問題になっていたレス番の重複、欠け(いわゆるスレ混じり)の
原因が分かりました。本家でも一部関係するので報告しときます。

スレ表示(Dat2HTML.ToDatOut)の最中はときどき沈黙防止に
ProcessMessageが入りますが、ここにスレのThreadDataを
直接参照するコマンドが割り込むと、使用中のTThreadData.FCacheInfoを
割り込んだ処理が書き換えてしまうためレス番が狂ったり表示が止まったりします。

本来、FThreadにそのスレを保持しているTViewItem以外では
TThread.DupDataを使ってThreadDataを複製して使う事で直接参照を
防いでいますが、うっかりこれを忘れると上記の問題が起こります。

DupDataを使わずThreadDataを直接参照してしまうコマンドは、
確認した限りで本家ではログ検索β、レス抽出です。(レス抽出は俺責任;)
実際にスレ表示中に実行したところ、スレの表示が止まりました。

この部分を修正した本家のUViewItem.pasをあげておくので、
よろしければ使ってください。
http://vamp.s9.xrea.com/updata2/380.zip

ちなみにViewではポップアップでもミスっていたので、
やたらとスレ混じりが起こりやすくなっていました。