-
Notifications
You must be signed in to change notification settings - Fork 445
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
canvas回りのいろいろ #244
Comments
はじめまして。kancolleojisan様の指摘で今起きている現象が把握できました。 あと追加で気付いた事なんですが、windowsのタスクバーのアイコンが明滅する(アイコンキャッシュの再構築?)のタイミングでも外れる事があります。 |
uribatake様はじめまして。いえいえ、お役に立てて嬉しいです。 Ctrl+Shift+ESCからexplorer.exeを強制終了させて、再度ファイル>タスクの実行からexplorerを起動させた時みたいなのですね。なんか色んなメッセージ飛んできてそう… |
その後の報告です。 ScreenshotAction.cs
として、毎回Canvasを取得する形にすると解決できました。 |
はじめまして。2~3個ほど謎な動作を見つけたので報告させて頂きます。
1.ゲーム画面でTabキーを押すとcanvasからフォーカスが外れて2度と戻らない
CSSをいじるとページ内のリンクを渡り歩けている所は確認出来ますが、
Shift+TabでもTabを押し続けてもcanvasに戻ってくることは出来ないみたいです。
Alt+TabやCtrl+Tab、Win+Tab等で切り替えをする際にうっかりTabキーを先に押してしまうと
その瞬間に戻れなくなります。人によってはフリーズと表現されているのではと思います。
2.Tabキーを押さなくてもフォーカスが外れてしまうことがある
左クリックで普通にプレイしているだけでも唐突にフォーカスが外れて(カーソルがHandになるべき所でもArrowになっちゃう)戻ってこなくなることがあります。
この時は最小化(アイコン化)して元に戻すとフォーカスが戻るのでそれほどプレイングに支障はないのですが、少しだけ気になります。
先行入力気味でクリックしていると、なりやすいような気がしています。
3.スクリーンショットの保存に失敗する
起動してプレイと放置を繰り返して長時間経つと、唐突にエラーが出るようになります。
一度このエラーが出ると、それ以降は何度カメラボタンを押しても同じエラーが出ます。
ステータスバーには
The underlying frame is no longer valid - please check the IsValid property before calling!
と表示されています。
・対応策
見よう見まねで書いてみました。努力の痕跡として見て頂けると嬉しいです。
1.ゲーム画面ではCefSharp.Wpfコントロール内のTabキーを封印する
xaml(CommonやKanColleHost等)の記述でKeyboardNavigation.TabNavigationをいじる方向で最初はやってみたんですけど、どこに書いても効いてる感じがなかったので、ここで肚をくくってCefSharpのソースをぐるぐる巡ってみました。
この辺かなと思ってWpfKeyboardHandlerを継承してみました。
KanColleHost.cs
これを if (newBrowser != null) のスコープ内で
しました。
これでKanColleViewerのUI上でだけTab移動出来て、ブラウザ上では出来ないようになりました。
newってこういう使い方で良いのでしょうか。良いのかな、本当に大丈夫かと迷いつつ書きました。
2.放置
timeoutで強引にfocusさせまくるくらいの事しか思い付かず、それで良いかという判断も出来なかったので、ここはそのままにしました。
3.なんとなくエラーメッセージに従ってみる
多分コレかなーって、様子見中です。
CefBridge.cs
少しでもフィードバックとしてお役に立てたら嬉しいです。
それでは失礼いたします。
The text was updated successfully, but these errors were encountered: