[Obj-C++] 14 NSWindowの重複 : 不具合発覚

[M1 Mac, Big Sur 11.6.5, clang 13.0.0, noXcode]

開発中のアプリについてmainクラスと他のクラスでNSWindowの初期化を設定しているため、一定条件で重複表示になることが発覚しました。

コードを書きながら矛盾を感じていたのですが、見た目には問題がなかったのでそのままにしていました。macOS Montereyでも動作を確認しようとアプリを起動してファイルをDrag & Dropすると新しいNSWindowがずれて表示されたために気付いたという次第です。なおファイルパスを貼り付ける場合はダブりにはなりません。

この部分の修正には1日半かかりました。解決してホッとすると同時に言語仕様に対する違和感が残りました。たまたまかもしれませんが、JavaやC++(FLTK)ではこんなところで詰まることはありませんでした。アクセス修飾子やstatic修飾子を駆使して対処してきました。

次回以降の記事で対策を紹介します。