diff --git a/panda/src/osxdisplay/osxGraphicsWindow.mm b/panda/src/osxdisplay/osxGraphicsWindow.mm index 6ed76fbd21..f72ee8cf14 100644 --- a/panda/src/osxdisplay/osxGraphicsWindow.mm +++ b/panda/src/osxdisplay/osxGraphicsWindow.mm @@ -736,10 +736,15 @@ bool osxGraphicsWindow::set_icon_filename(const Filename &icon_filename) Filename icon_pathname = icon_filename; if (!vfs->resolve_filename(icon_pathname, get_model_path())) { - // The filename doesn't exist. - osxdisplay_cat.warning() - << "Could not find icon filename " << icon_filename << "\n"; - return false; + // The filename doesn't exist along the search path. + if (icon_pathname.is_fully_qualified() && vfs->exists(icon_pathname)) { + // But it does exist locally, so accept it. + + } else { + osxdisplay_cat.warning() + << "Could not find icon filename " << icon_filename << "\n"; + return false; + } } diff --git a/panda/src/windisplay/winGraphicsWindow.cxx b/panda/src/windisplay/winGraphicsWindow.cxx index 26a92a4be4..4f52a78df9 100644 --- a/panda/src/windisplay/winGraphicsWindow.cxx +++ b/panda/src/windisplay/winGraphicsWindow.cxx @@ -2280,10 +2280,15 @@ get_icon(const Filename &filename) { // virtual file system. Filename resolved = filename; if (!resolved.resolve_filename(get_model_path())) { - // The filename doesn't exist. - windisplay_cat.warning() - << "Could not find icon filename " << filename << "\n"; - return 0; + // The filename doesn't exist along the search path. + if (resolved.is_fully_qualified() && resolved.exists()) { + // But it does exist locally, so accept it. + + } else { + windisplay_cat.warning() + << "Could not find icon filename " << filename << "\n"; + return 0; + } } fi = _icon_filenames.find(resolved); if (fi != _icon_filenames.end()) {