{"action":"created","comment":{"url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/comments/63288945","id":63288945,"diff_hunk":"@@ -732,43 +738,47 @@ void Font::draw_ascii_lines(unsigned char line_id, int drawx, int drawy, int FG)\n     }\n }\n \n-void invalidate_framebuffer(int x, int y, int width, int height)\n+void invalidate_oversized_framebuffer( int x, int y, int width, int height )\n {\n-    for (int j = 0, fby = y; j < height; j++, fby++) {\n-        std::fill_n(framebuffer[fby].chars.begin() + x, width, cursecell(\"\"));\n+    for( int j = 0, fby = y; j < height; j++, fby++ ) {\n+        std::fill_n( oversized_framebuffer[fby].chars.begin() + x, width, cursecell( \"\" ) );\n     }\n }\n \n-void invalidate_map_framebuffer()\n+void invalidate_terminal_framebuffer()\n {\n-    if( !g->w_terrain ) {\n-        return;\n-    }\n-    for( int j = 0, fby = g->w_terrain->y; j < TERRAIN_WINDOW_HEIGHT; j++, fby++ ) {\n-        std::fill_n( framebuffer[fby].chars.begin() + g->w_terrain->x, TERRAIN_WINDOW_WIDTH,\n+    for( unsigned int i = 0; i < terminal_framebuffer.size(); i++ ) {\n+        std::fill_n( terminal_framebuffer[i].chars.begin(), terminal_framebuffer[i].chars.size(),\n                      cursecell( \"\" ) );\n     }\n }\n \n-void invalidate_overmap_framebuffer()\n+void invalidate_oversized_framebuffer()\n {\n-    if( !g->w_overmap ) {\n-        return;\n-    }\n-    for( int j = 0, fby = g->w_overmap->y; j < OVERMAP_WINDOW_HEIGHT; j++, fby++ ) {\n-        std::fill_n( framebuffer[fby].chars.begin() + g->w_overmap->x, OVERMAP_WINDOW_WIDTH,\n+    for( unsigned int i = 0; i < oversized_framebuffer.size(); i++ ) {\n+        std::fill_n( oversized_framebuffer[i].chars.begin(), oversized_framebuffer[i].chars.size(),","path":"src/sdltiles.cpp","position":66,"original_position":66,"commit_id":"6230dcad93d50ae5d134080732554711935a5156","original_commit_id":"6230dcad93d50ae5d134080732554711935a5156","user":{"login":"BevapDin","id":5095435,"avatar_url":"https://avatars.githubusercontent.com/u/5095435?v=3","gravatar_id":"","url":"https://api.github.com/users/BevapDin","html_url":"https://github.com/BevapDin","followers_url":"https://api.github.com/users/BevapDin/followers","following_url":"https://api.github.com/users/BevapDin/following{/other_user}","gists_url":"https://api.github.com/users/BevapDin/gists{/gist_id}","starred_url":"https://api.github.com/users/BevapDin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BevapDin/subscriptions","organizations_url":"https://api.github.com/users/BevapDin/orgs","repos_url":"https://api.github.com/users/BevapDin/repos","events_url":"https://api.github.com/users/BevapDin/events{/privacy}","received_events_url":"https://api.github.com/users/BevapDin/received_events","type":"User","site_admin":false},"body":"Looks like this is the exact same logic as in `invalidate_terminal_framebuffer`. Why are those two functions instead of one with suitable parameters?","created_at":"2016-05-15T09:30:02Z","updated_at":"2016-05-15T09:30:02Z","html_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/16692#discussion_r63288945","pull_request_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/16692","_links":{"self":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/comments/63288945"},"html":{"href":"https://github.com/CleverRaven/Cataclysm-DDA/pull/16692#discussion_r63288945"},"pull_request":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/16692"}}},"pull_request":{"url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/16692","id":70111382,"html_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/16692","diff_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/16692.diff","patch_url":"https://github.com/CleverRaven/Cataclysm-DDA/pull/16692.patch","issue_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/16692","number":16692,"state":"open","locked":false,"title":"Separate SDL framebuffer for regular text and map/overmap, along with adding more refresh calls.","user":{"login":"DanmakuDan","id":9610892,"avatar_url":"https://avatars.githubusercontent.com/u/9610892?v=3","gravatar_id":"","url":"https://api.github.com/users/DanmakuDan","html_url":"https://github.com/DanmakuDan","followers_url":"https://api.github.com/users/DanmakuDan/followers","following_url":"https://api.github.com/users/DanmakuDan/following{/other_user}","gists_url":"https://api.github.com/users/DanmakuDan/gists{/gist_id}","starred_url":"https://api.github.com/users/DanmakuDan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DanmakuDan/subscriptions","organizations_url":"https://api.github.com/users/DanmakuDan/orgs","repos_url":"https://api.github.com/users/DanmakuDan/repos","events_url":"https://api.github.com/users/DanmakuDan/events{/privacy}","received_events_url":"https://api.github.com/users/DanmakuDan/received_events","type":"User","site_admin":false},"body":"This is another followup for #16162 and #16211, which should fix #16416.\r\n\r\nUIMenu is doing window updates during deconstruction, which prevented a screen refresh from fixing the missing window area at the correct time.\r\n\r\nFramebuffer is now split into two buffers, one for map/overmap and one for terminal text, which should prevent weird character leakages when using multiple custom font sizes.","created_at":"2016-05-15T04:00:46Z","updated_at":"2016-05-15T09:30:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c984b1f71d7a2b464cea1362c44694db2c14627a","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/16692/commits","review_comments_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/16692/comments","review_comment_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/comments{/number}","comments_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/16692/comments","statuses_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/statuses/6230dcad93d50ae5d134080732554711935a5156","head":{"label":"DanmakuDan:sdl_framebuffer","ref":"sdl_framebuffer","sha":"6230dcad93d50ae5d134080732554711935a5156","user":{"login":"DanmakuDan","id":9610892,"avatar_url":"https://avatars.githubusercontent.com/u/9610892?v=3","gravatar_id":"","url":"https://api.github.com/users/DanmakuDan","html_url":"https://github.com/DanmakuDan","followers_url":"https://api.github.com/users/DanmakuDan/followers","following_url":"https://api.github.com/users/DanmakuDan/following{/other_user}","gists_url":"https://api.github.com/users/DanmakuDan/gists{/gist_id}","starred_url":"https://api.github.com/users/DanmakuDan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DanmakuDan/subscriptions","organizations_url":"https://api.github.com/users/DanmakuDan/orgs","repos_url":"https://api.github.com/users/DanmakuDan/repos","events_url":"https://api.github.com/users/DanmakuDan/events{/privacy}","received_events_url":"https://api.github.com/users/DanmakuDan/received_events","type":"User","site_admin":false},"repo":{"id":30150110,"name":"Cataclysm-DDA","full_name":"DanmakuDan/Cataclysm-DDA","owner":{"login":"DanmakuDan","id":9610892,"avatar_url":"https://avatars.githubusercontent.com/u/9610892?v=3","gravatar_id":"","url":"https://api.github.com/users/DanmakuDan","html_url":"https://github.com/DanmakuDan","followers_url":"https://api.github.com/users/DanmakuDan/followers","following_url":"https://api.github.com/users/DanmakuDan/following{/other_user}","gists_url":"https://api.github.com/users/DanmakuDan/gists{/gist_id}","starred_url":"https://api.github.com/users/DanmakuDan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DanmakuDan/subscriptions","organizations_url":"https://api.github.com/users/DanmakuDan/orgs","repos_url":"https://api.github.com/users/DanmakuDan/repos","events_url":"https://api.github.com/users/DanmakuDan/events{/privacy}","received_events_url":"https://api.github.com/users/DanmakuDan/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/DanmakuDan/Cataclysm-DDA","description":"Cataclysm - Dark Days Ahead. A fork/variant of Cataclysm Roguelike by Whales.","fork":true,"url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA","forks_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/forks","keys_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/keys{/key_id}","collaborators_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/teams","hooks_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/hooks","issue_events_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/issues/events{/number}","events_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/events","assignees_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/assignees{/user}","branches_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/branches{/branch}","tags_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/tags","blobs_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/git/refs{/sha}","trees_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/git/trees{/sha}","statuses_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/statuses/{sha}","languages_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/languages","stargazers_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/stargazers","contributors_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/contributors","subscribers_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/subscribers","subscription_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/subscription","commits_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/commits{/sha}","git_commits_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/git/commits{/sha}","comments_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/comments{/number}","issue_comment_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/issues/comments{/number}","contents_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/contents/{+path}","compare_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/compare/{base}...{head}","merges_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/merges","archive_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/downloads","issues_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/issues{/number}","pulls_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/pulls{/number}","milestones_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/milestones{/number}","notifications_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/labels{/name}","releases_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/releases{/id}","deployments_url":"https://api.github.com/repos/DanmakuDan/Cataclysm-DDA/deployments","created_at":"2015-02-01T15:34:09Z","updated_at":"2016-01-11T15:07:43Z","pushed_at":"2016-05-15T03:54:15Z","git_url":"git://github.com/DanmakuDan/Cataclysm-DDA.git","ssh_url":"git@github.com:DanmakuDan/Cataclysm-DDA.git","clone_url":"https://github.com/DanmakuDan/Cataclysm-DDA.git","svn_url":"https://github.com/DanmakuDan/Cataclysm-DDA","homepage":"http://en.cataclysmdda.com/","size":765684,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"CleverRaven:master","ref":"master","sha":"49b18d8afb3628ced0659eb08317e010abe42e3f","user":{"login":"CleverRaven","id":4367009,"avatar_url":"https://avatars.githubusercontent.com/u/4367009?v=3","gravatar_id":"","url":"https://api.github.com/users/CleverRaven","html_url":"https://github.com/CleverRaven","followers_url":"https://api.github.com/users/CleverRaven/followers","following_url":"https://api.github.com/users/CleverRaven/following{/other_user}","gists_url":"https://api.github.com/users/CleverRaven/gists{/gist_id}","starred_url":"https://api.github.com/users/CleverRaven/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CleverRaven/subscriptions","organizations_url":"https://api.github.com/users/CleverRaven/orgs","repos_url":"https://api.github.com/users/CleverRaven/repos","events_url":"https://api.github.com/users/CleverRaven/events{/privacy}","received_events_url":"https://api.github.com/users/CleverRaven/received_events","type":"Organization","site_admin":false},"repo":{"id":5973855,"name":"Cataclysm-DDA","full_name":"CleverRaven/Cataclysm-DDA","owner":{"login":"CleverRaven","id":4367009,"avatar_url":"https://avatars.githubusercontent.com/u/4367009?v=3","gravatar_id":"","url":"https://api.github.com/users/CleverRaven","html_url":"https://github.com/CleverRaven","followers_url":"https://api.github.com/users/CleverRaven/followers","following_url":"https://api.github.com/users/CleverRaven/following{/other_user}","gists_url":"https://api.github.com/users/CleverRaven/gists{/gist_id}","starred_url":"https://api.github.com/users/CleverRaven/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CleverRaven/subscriptions","organizations_url":"https://api.github.com/users/CleverRaven/orgs","repos_url":"https://api.github.com/users/CleverRaven/repos","events_url":"https://api.github.com/users/CleverRaven/events{/privacy}","received_events_url":"https://api.github.com/users/CleverRaven/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CleverRaven/Cataclysm-DDA","description":"Cataclysm - Dark Days Ahead. A fork/variant of Cataclysm Roguelike by Whales.","fork":false,"url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA","forks_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/forks","keys_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/teams","hooks_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/hooks","issue_events_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/events{/number}","events_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/events","assignees_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/assignees{/user}","branches_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/branches{/branch}","tags_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/tags","blobs_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/git/refs{/sha}","trees_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/statuses/{sha}","languages_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/languages","stargazers_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/stargazers","contributors_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/contributors","subscribers_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/subscribers","subscription_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/subscription","commits_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/commits{/sha}","git_commits_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/git/commits{/sha}","comments_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/comments{/number}","issue_comment_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/comments{/number}","contents_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/contents/{+path}","compare_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/merges","archive_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/downloads","issues_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues{/number}","pulls_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls{/number}","milestones_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/milestones{/number}","notifications_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/labels{/name}","releases_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/releases{/id}","deployments_url":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/deployments","created_at":"2012-09-26T22:57:43Z","updated_at":"2016-05-13T20:55:37Z","pushed_at":"2016-05-15T09:08:32Z","git_url":"git://github.com/CleverRaven/Cataclysm-DDA.git","ssh_url":"git@github.com:CleverRaven/Cataclysm-DDA.git","clone_url":"https://github.com/CleverRaven/Cataclysm-DDA.git","svn_url":"https://github.com/CleverRaven/Cataclysm-DDA","homepage":"http://en.cataclysmdda.com/","size":1028789,"stargazers_count":949,"watchers_count":949,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":876,"mirror_url":null,"open_issues_count":1203,"forks":876,"open_issues":1203,"watchers":949,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/16692"},"html":{"href":"https://github.com/CleverRaven/Cataclysm-DDA/pull/16692"},"issue":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/16692"},"comments":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/issues/16692/comments"},"review_comments":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/16692/comments"},"review_comment":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/pulls/16692/commits"},"statuses":{"href":"https://api.github.com/repos/CleverRaven/Cataclysm-DDA/statuses/6230dcad93d50ae5d134080732554711935a5156"}}}}