Ticket #17767

yamyのダイアログを消す際に5秒程度フリーズすることがある

Open Date: 2009-07-12 18:37 Last Update: 2009-07-15 23:27

Reporter:
Owner:
Type:
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None

Details

yamyの自身の出す「ログ」「バージョン」等のダイアログで「×」ボタンを押してウィンドウを消そうとすると、環境によっては5秒程度フリーズする現象が発生する。フリーズ解消後ウィンドウは消える。「×」ボタンの替りに「最小化」ボタンでも同じ現象が発生する。

環境によって現象の発生の有無は以下の通り:

  • Windows XP(デスクトップのテーマがXP)→発生
  • Windows XP(デスクトップのテーマがクラシック)→発生せず
  • Windows Vista(デスクトップのテーマがVisita)→発生せず

# 上記以外は未確認

Ticket History (3/4 Histories)

2009-07-12 18:37 Updated by: gimy
  • New Ticket "yamyのダイアログを消す際に5秒程度フリーズすることがある" created
2009-07-12 18:41 Updated by: gimy
Comment

WH_MOUSE_LL のフックを行わないように修正したバイナリで試したところ

* Windows XP(デスクトップのテーマがXP)→発生

の場合でも現象が発生しなくなった。フックしていること自体に問題があるのか、フック中の処理に問題があるのかは不明。

WH_MOUSE_LL のフックを行わないようにした場合の副作用は「&MouseHook 関数が使えなくなる」

尚、本現象は窓使いの憂鬱でも発生する。

2009-07-12 18:48 Updated by: gimy
Comment

尚、5秒という時間は、http://msdn.microsoft.com/ja-jp/library/cc430021.aspx に記載のあるタイムアウト時間 LowLevelHooksTimeout(@HKEY_CURRENT_USER\Control Panel\Desktop) のデフォルト値に由来すると推測している。

2009-07-15 23:27 Updated by: gimy
  • Ticket Close date is changed to 2009-07-15 23:27
  • Status Update from Open to Closed
Comment

gimy への返信

WH_MOUSE_LL のフックを行わないように修正したバイナリで試したところ

* Windows XP(デスクトップのテーマがXP)→発生

の場合でも現象が発生しなくなった。フックしていること自体に問題があるのか、フック中の処理に問題があるのかは不明。 WH_MOUSE_LL のフックを行わないようにした場合の副作用は「&MouseHook 関数が使えなくなる」

WH_MOUSE_LL のフックを独立したスレッドで処理することにより上記回避策に頼らずに対処できた。

http://git.sourceforge.jp/view?p=yamy/yamy.git;a=commit;h=2287c9ec18ff9a7361111f6a1590ea0db8d46f72

にてコミット。

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login