JDimproved / JDim

2ch browser for linux
https://jdimproved.github.io/JDim/
GNU General Public License v2.0
46 stars 11 forks source link

キャッシュ内ログ検索の実行を中止しても検索が止まらない #1249

Closed ma8ma closed 11 months ago

ma8ma commented 12 months ago

キャッシュ内ログ検索の実行を中止しても検索が止まらない

バグの説明

キャッシュ内ログ検索には検索を中止するツールバーボタンがあります。 しかし、検索を実行中に中止ボタンを押しても操作が打ち切られません。

再現の方法

以下の操作を実行すると検索が完了するまで止まらないため注意してください。

  1. スレを読み込みしてdatファイルが多量にあるキャッシュを用意する (環境変数JDIM_CACHEなどを利用する)
  2. (1)のキャッシュでJDimを起動する
  3. メニューバーのツール(T)>キャッシュ内ログ検索(C)>キャッシュ内の全ログを検索(A)を選択する
  4. 表示された検索欄に検索ワードを入力する
  5. ツールバーにある再検索ボタンを押す
  6. 検索実行中にツールバーにある検索中止ボタンを押す
  7. 検索が止まらない

やりたかったこと・期待する結果

検索中止ボタンを押したら検索を打ち切る

スクリーンショット

なし

動作環境

[バージョン] JDim 0.10.1-20230909(git:d7fd9c56ff)
[ディストリ ] Ubuntu 23.04 (x86_64)
[パッケージ] バイナリ/ソース( <配布元> )
[ DE/WM ] KDE
[ gtkmm  ] 3.24.7
[ glibmm  ] 2.66.6
[ TLS lib ] GnuTLS 3.7.8
[オプション ] '--with-alsa''--with-pangolayout'
[ そ の 他 ] 

追加の情報

ログ検索のソースコードを読んだところ検索中止を伝えるフラグ変数が値渡しになっており 検索処理部分にフラグの変更が伝播しない状態になっています。

commit 9313fb246bd8612fd50c1d21dfaa1fd5d9f3d182

https://github.com/JDimproved/JDim/commit/9313fb246bd8612fd50c1d21dfaa1fd5d9f3d182#diff-f9fc23c67dc0254f2874d34727bb84ab74dfee880266e94644d65c6608ae4d7e

https://github.com/JDimproved/JDim/commit/9313fb246bd8612fd50c1d21dfaa1fd5d9f3d182#diff-f6d8d9e104eba4a30c13cdaebec153ef184b37043f0c960a42f9cdefad02cf50

https://github.com/JDimproved/JDim/commit/9313fb246bd8612fd50c1d21dfaa1fd5d9f3d182#diff-0e370dfe931766fb2ca69b1ac69e041bcf9dd2672547a333f7526200bb8a58ad