待辦事項 #37853

Wineで新規を選ぶと落ちる

啟用日期: 2018-01-01 23:34 最後更新: 2022-02-04 23:31

回報者:
負責人:
類型:
狀態:
關閉
元件:
(無)
優先權:
5 - 中
嚴重程度:
5 - 中
處理結果:
Duplicate
檔案:

細節

Linux上でWineを使い変愚蛮怒(Windows版)を起動し、メニューバーから[ファイル]-[新規]を選ぶと、変愚蛮怒が異常終了します。このとき画面に特段のメッセージは表示されません。 OSは Ubuntu 16.04 (x86_64)で、Wineは https://wiki.winehq.org/Ubuntu で配布されている公式配布版(wine-stable)の2.0.3を使いました。

こちらの調査では変愚蛮怒2.2.0のほか2.1.4がNGで、2.1.3は正常に動作しました(すべて公式配布版)。また、最新版ソースに以下の変更をすることで、動作可能となるようです。以下のパッチを元に修正を検討いただけましたら幸いです。

diff --git a/src/z-rand.c b/src/z-rand.c
index 9ca8786..4ac02c6 100644
--- a/src/z-rand.c
+++ b/src/z-rand.c
@@ -203,7 +203,7 @@ void Rand_state_init(void)
 
 	HCRYPTPROV hProvider;
 
-	CryptAcquireContext(&hProvider, NULL, NULL, PROV_RSA_FULL, 0);
+	CryptAcquireContext(&hProvider, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT);
 
 	do {
 		CryptGenRandom(hProvider, sizeof(Rand_state[0]) * 4, (BYTE*)Rand_state);

変更前はデフォルトの鍵コンテナへのアクセスを要求しており、このコンテナがない場合は hProvider に有効なハンドルを得られません。変更後は特定の鍵コンテナをオープンしないと CryptAcquireContext に指示するので、デフォルトの鍵コンテナの有無によらず hProvider に有効なハンドルを得られるようになります。

以上よろしくお願いします。

Ticket History (3/3 Histories)

2018-01-01 23:34 Updated by: sagawa_aki
  • New Ticket "Wineで新規を選ぶと落ちる" created
2018-01-01 23:41 Updated by: deskull
評語

パッチの御提供ありがとうございます。こちらでも可能な限り確認の上適用させていただきます。

2022-02-04 23:31 Updated by: deskull
  • 狀態 Update from 開啟 to 關閉
  • 處理結果 Update from to Duplicate
評語

https://github.com/hengband/hengband/issues/2072 に移行したので重複完了。

Attachment File List

No attachments

編輯

Please login to add comment to this ticket » 登入