{"action":"created","issue":{"url":"https://api.github.com/repos/libretro/RetroArch/issues/5009","repository_url":"https://api.github.com/repos/libretro/RetroArch","labels_url":"https://api.github.com/repos/libretro/RetroArch/issues/5009/labels{/name}","comments_url":"https://api.github.com/repos/libretro/RetroArch/issues/5009/comments","events_url":"https://api.github.com/repos/libretro/RetroArch/issues/5009/events","html_url":"https://github.com/libretro/RetroArch/pull/5009","id":233056893,"number":5009,"title":"xmb: enable menu transparency support when emulation is paused (v2)","user":{"login":"psyke83","id":749000,"avatar_url":"https://avatars2.githubusercontent.com/u/749000?v=3","gravatar_id":"","url":"https://api.github.com/users/psyke83","html_url":"https://github.com/psyke83","followers_url":"https://api.github.com/users/psyke83/followers","following_url":"https://api.github.com/users/psyke83/following{/other_user}","gists_url":"https://api.github.com/users/psyke83/gists{/gist_id}","starred_url":"https://api.github.com/users/psyke83/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psyke83/subscriptions","organizations_url":"https://api.github.com/users/psyke83/orgs","repos_url":"https://api.github.com/users/psyke83/repos","events_url":"https://api.github.com/users/psyke83/events{/privacy}","received_events_url":"https://api.github.com/users/psyke83/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2017-06-02T02:02:42Z","updated_at":"2017-06-05T13:04:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/libretro/RetroArch/pulls/5009","html_url":"https://github.com/libretro/RetroArch/pull/5009","diff_url":"https://github.com/libretro/RetroArch/pull/5009.diff","patch_url":"https://github.com/libretro/RetroArch/pull/5009.patch"},"body":"Allow xmb menu driver transparency when \"Pause when menu activated\" is enabled (default setting).\r\nThis is also the default behaviour of the rgui driver and is helpful for users to preview\r\nvideo/shader changes on the fly.\r\n\r\nIssues fixed:\r\n\r\ngfx/video_driver: enable menu transparency only when game is loaded (as a loaded core can display\r\n                  black or corrupt image)\r\ngfx/video_driver: don't clobber cached frame during driver reinit if game was loaded\r\n                  (fixes missing menu background/paused foreground on full screen toggle)\r\nmenu/drivers/xmb: ensure transparency is applied when game is loaded and no shader pipeline active.\r\nmenu/menu_driver: explicitly apply transparency only for existing textures (i.e. wallpapers), to\r\n                  avoid background of cores with no content yet loaded mixing with wallpaper."},"comment":{"url":"https://api.github.com/repos/libretro/RetroArch/issues/comments/306182153","html_url":"https://github.com/libretro/RetroArch/pull/5009#issuecomment-306182153","issue_url":"https://api.github.com/repos/libretro/RetroArch/issues/5009","id":306182153,"user":{"login":"psyke83","id":749000,"avatar_url":"https://avatars2.githubusercontent.com/u/749000?v=3","gravatar_id":"","url":"https://api.github.com/users/psyke83","html_url":"https://github.com/psyke83","followers_url":"https://api.github.com/users/psyke83/followers","following_url":"https://api.github.com/users/psyke83/following{/other_user}","gists_url":"https://api.github.com/users/psyke83/gists{/gist_id}","starred_url":"https://api.github.com/users/psyke83/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psyke83/subscriptions","organizations_url":"https://api.github.com/users/psyke83/orgs","repos_url":"https://api.github.com/users/psyke83/repos","events_url":"https://api.github.com/users/psyke83/events{/privacy}","received_events_url":"https://api.github.com/users/psyke83/received_events","type":"User","site_admin":false},"created_at":"2017-06-05T13:04:03Z","updated_at":"2017-06-05T13:04:03Z","body":"I saw this but I don't think it fixes the issue: https://github.com/libretro/RetroArch/commit/cacde2b464b855ce46281add9ab93c948faf2a56\r\n\r\nFrom a quick check of the code, this is what I observe:\r\n\r\n1. First start of the program will have no core type specified which leads to core_init = true being set, triggering the dummy core to be loaded here: https://github.com/libretro/RetroArch/blob/master/command.c#L1780\r\n2. When the user loads a core, the active core is unloaded (new behaviour introduced with the commit I isolated)\r\n3. Once the dummy core is unloaded, frame_buf (now dynamic_frame_buf) gets freed and nulled.\r\n4. Since the user has selected a different core, dummy core will not be loaded again, meaning that libretro_dummy_retro_init never gets called after first start.\r\n5. Despite the dummy core being unloaded, something is triggering libretro_dummy_retro_run (which expects dummy_frame_buf to be initialized)\r\n\r\nIf I'm right, and the program needs the dummy core loaded at all times, the solution may be to explicitly exclude the dummy core from being unloaded.\r\nhttps://gist.github.com/psyke83/314abfe4292a3441e73666953b55670d\r\n\r\nThis solves the corruption for me and I can't trigger any crashes when unloading/loading 2048... but please check on your side too.\r\n\r\n\r\n"}}
{"actor":{"display_login":"psyke83"}}