-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ターゲットwindowsをwindows7に上げる #548
ターゲットwindowsをwindows7に上げる #548
Conversation
プロジェクト設定が widows 2000 向けになっていたのを win7 向けに更新します。
ここだけ COsVersionInfoクラス を使っていたのでグローバル関数を呼ぶように修正します。
処理を簡単に記述するために暗黙動的リンクを採用するので、 動作対象外OSではそもそも起動できなくなったため、チェックをする意味がなくなりました。 シグニチャ訂正をすると他に影響が出るので、一旦内部を空っぽにする対処を行います。
実際に利用されている関数を残して未使用処理を除去。
bdaaae5
to
05f6df4
Compare
OPENFILENAMEZの廃止により、利用していた箇所は除去済み。
未使用関数のため影響なし。
対象OSをwin7に上げたことで不要になったGetProcAddressを除去します。
RAIIクラスを使ったパス移動は、無名スコープを抜ける際に解除されるので意味がありません。 カレントディレクトリに変更は比較的重たいので無駄と分かって残しておく意味はないと思われます。
他のCDllImp派生クラスと実装が異なっていた。 HtmlHelpはwindows SDKに定義がある特殊な外部関数なので、 windows SDKの定義とCDllImp実装の両方の特性を活かせるように実装し直します。
単にチェックの有無で倍率設定を切り替える処理となっている。
Dx配列の導出用にstd::vectorを使っていたが、ここの処理では文字列長が固定なので動的サイズ変更しなくてよかった。
グリフインデックスの受取バッファにstd::wstringを使っていたが、stringの機能は全く使わないので単なるバッファに変更する。
確保量が毎回同じで、かつ、小さいのでスタックに積んで動的確保のコストを削る。
} | ||
#endif | ||
// Windowsバージョンは廃止。 | ||
// 動作可能バージョン(=windows7以降)でなければ起動できない。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
黒翼猫さんが Windows 2000 で無理やり動作させた時は無力感を味わいながら諦めましょう…。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
大変お世話になってた気がするので、もし必要なら対応版ブランチを作る感じです。
きっと彼らは最新版追わないので影響ないんじゃないかと思ってます。
@@ -844,7 +843,7 @@ void CMenuDrawer::MyAppendMenu( | |||
// メニュー項目をオーナー描画にして、アイコンを表示する | |||
// 2010.03.29 アクセスキーの分を詰めるためいつもオーナードローにする。ただしVista未満限定 | |||
// Vista以上ではメニューもテーマが適用されるので、オーナードローにすると見た目がXP風になってしまう。 | |||
if( m_pShareData->m_Common.m_sWindow.m_bMenuIcon || !IsWinVista_or_later() ){ | |||
if( m_pShareData->m_Common.m_sWindow.m_bMenuIcon ){ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR の変更内容への指摘では無くて余談ですが、もうメニューをオーナードローでやらなくても良いかも知れないですね。いやまぁ確認して Issue 立てろと言われたらそれまでですが…。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
メニューのオーナードローをやめる対応は後回しにしました。
これマージした後に ‘#if’ で無効化されてるコードを除去するのをやろうとしていて、それの後くらいがいいかなと思っています。
メニュー処理はコピペで二重化されてるので、整理して一本化するのが先かもです。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
メニューバーにメッセージを表示する処理の変更内容が他と比べてちょっと異質な感じはありますが問題無いと思います。
確認していませんが、エディタ側の Unicode 文字列描画処理は等幅専用だったりして使えないのかもしれないですね。それか再利用可能な形になっていないとか。
refactoring のタグは違うように思います。どちらかというと仕様変更だと思います。 |
確認ありがとうございます。 |
あとでタグ外しときます。 |
Windows Vista での起動確認を報告します。すでにビルドはできませんが動作テストはまだできるようです。 |
いまのところ、vistaで使えなくなるような変更は入ってないので、起動はできる想定でした。 |
コミット 05f6df4 からだと思いますが、MinGW ビルドがこけています。
|
こういうのがあるから appveyor に組み込んでおきたかったんです(キリッ ・・・調べて対応します 😭 |
…target_winver ターゲットwindowsをwindows7に上げる
ターゲットwindowsのバージョンをwin2000からwin7に上げます。
副産物として以下の変更を同時に行います。
この変更の統合により、修正が必要と判断したコードをよく調べてみたらデッドコードだった、という悲劇に遭遇する確立を少しだけ下げることが出来ます。