回答編集履歴
2
コード追記
answer
CHANGED
@@ -1,2 +1,14 @@
|
|
1
1
|
動作確認はしていませんが…
|
2
|
-
コードを見た感じ`font_Draw()`内で毎回`CreateFont()`を呼び`Odc`にセットしており、`Odc`のフォントを元に戻さず`DeleteObject()`もしていないので、ある程度の回数呼び出された後にそれ以上フォントを作れなくなっているのでは?
|
2
|
+
コードを見た感じ`font_Draw()`内で毎回`CreateFont()`を呼び`Odc`にセットしており、`Odc`のフォントを元に戻さず`DeleteObject()`もしていないので、ある程度の回数呼び出された後にそれ以上フォントを作れなくなっているのでは?
|
3
|
+
|
4
|
+
今回直接関係ありませんが、書式化結果の2行目以降に書式化文字が含まれていると、`font_Draw()`再帰呼び出しで誤動作するので"%s"を指定しておいたほうがよいと思います。
|
5
|
+
```diff
|
6
|
+
- if (*font == '\n' || '\0') {
|
7
|
+
+ if (*font == '\n' && *(font+1) != '\0') {
|
8
|
+
glDeleteLists(list, length);
|
9
|
+
|
10
|
+
font_SetPosition(0, y + font_GetSize()-15);
|
11
|
+
- font_Draw(++font);
|
12
|
+
+ font_Draw(L"%s", ++font);
|
13
|
+
}
|
14
|
+
```
|
1
文言修正
answer
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
動作確認はしていませんが…
|
2
|
-
コードを見た感じ`font_Draw()`内で毎回`CreateFont()`を呼び`Odc`にセットしており、`Odc`のフォントを元に戻さず`DeleteObject()`もしていないので、
|
2
|
+
コードを見た感じ`font_Draw()`内で毎回`CreateFont()`を呼び`Odc`にセットしており、`Odc`のフォントを元に戻さず`DeleteObject()`もしていないので、ある程度の回数呼び出された後にそれ以上フォントを作れなくなっているのでは?
|