#19503
Yutaka Emura
キーマスター

星くず彼方に 様

いつも EmEditor Professional をお使いいただき、誠にありがとうございます。

先ほど、v14.4.3 beta 1 を公開しましたので、お試しいただけると幸いです。
http://jp.emeditor.com/forums/topic/emeditor-v14-4-3-beta-1-%E3%82%92%E5%85%AC%E9%96%8B%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F/

EE_VIEW_TO_DEV メッセージ (Editor_ViewToDev インライン関数) の後に、dev_pos の x と y の値が LONG_PTR_MIN または LONG_PTR_MAX かどうかをチェックしていただくことをおすすめします。例えば、カーソルが文書の一番上にある状態で、スクロール バーを下にドラッグして一番下を表示した状態で現在のカーソル位置 (0,0) をデバイス座標に変換しようとすると、dev_pos の結果は LONG_PTR_MIN または LONG_PTR_MAX になり無効だとわかります。

前回、0xffffffff80000000 (INT_MIN) と書きましたが、これは正しくありませんでした。32ビットと64ビットの場合で、この値は異なり、正しくは以下のようになります。(新しい plugin.h に定義を追加しました)

#if (defined(_WIN64) || defined(_W64))
#define LONG_PTR_MIN		LLONG_MIN  // (-9223372036854775807i64 - 1)
#define LONG_PTR_MAX		LLONG_MAX  // 9223372036854775807i64
#else
#define LONG_PTR_MIN		LONG_MIN   // (-2147483647L - 1)
#define LONG_PTR_MAX		LONG_MAX   // 2147483647L
#endif

ヘルプの EE_VIEW_TO_DEV メッセージ (Editor_ViewToDev インライン関数) には説明を追加しました。
この度は詳細なご報告をいただき、ありがとうございました。

Yutaka