{"action":"created","issue":{"url":"https://api.github.com/repos/mate-desktop/caja/issues/575","repository_url":"https://api.github.com/repos/mate-desktop/caja","labels_url":"https://api.github.com/repos/mate-desktop/caja/issues/575/labels{/name}","comments_url":"https://api.github.com/repos/mate-desktop/caja/issues/575/comments","events_url":"https://api.github.com/repos/mate-desktop/caja/issues/575/events","html_url":"https://github.com/mate-desktop/caja/issues/575","id":161307661,"number":575,"title":"GTK 3.21.3: no desktop redraws or bg changes until restart","user":{"login":"lukefromdc","id":14036792,"avatar_url":"https://avatars.githubusercontent.com/u/14036792?v=3","gravatar_id":"","url":"https://api.github.com/users/lukefromdc","html_url":"https://github.com/lukefromdc","followers_url":"https://api.github.com/users/lukefromdc/followers","following_url":"https://api.github.com/users/lukefromdc/following{/other_user}","gists_url":"https://api.github.com/users/lukefromdc/gists{/gist_id}","starred_url":"https://api.github.com/users/lukefromdc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukefromdc/subscriptions","organizations_url":"https://api.github.com/users/lukefromdc/orgs","repos_url":"https://api.github.com/users/lukefromdc/repos","events_url":"https://api.github.com/users/lukefromdc/events{/privacy}","received_events_url":"https://api.github.com/users/lukefromdc/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mate-desktop/caja/labels/confirmed","name":"confirmed","color":"f7c6c7"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":59,"created_at":"2016-06-20T22:08:26Z","updated_at":"2016-08-03T21:42:20Z","closed_at":null,"body":"Beginning with the various  GdkDrawingContext changes to GTK during the 3.21.2 cycle, the desktop background in Caja has become \"persistant\" with a failure to redraw and \"erase\" when any icon is moved. In addition, all icon and text shadows are rendered at 100% opacity and the background cannot be changed. Restarting caja or adding/removing a secondary monitor will forcibly redraw the desktop, erase no longer valid images, and apply background changes.  Nemo also has this problem, nautilus with the new split-out \"nautilus-desktop\" binary does not and in fact running an instance of nautilus-desktop in a MATE session with normal desktop icons turned off is a workaround for this.\r\n\r\nIn searching for this, I have gotten as far as the function \"draw_canvas_background\" in caja-icon-container.c . If this function and the reference to it elsewhere in the same file are removed, no background can be rendered (as expected) but icons can now be moved around and shadows render normally.  \r\n\r\nThe desktop background failed redraw issue exists in Master(where I first saw it), in dev-style-properties, and even in my dev-deprecations-3.21 branch where the newly deprecated gdk_cairo_create() was replaced with cairo_create()\r\n\r\nThe buggy GTK changes have now made it out the door in GTK 3.21.3, implying they are now far more likely to persist all the way to final GTK 3.22. This broke a lot of things, like causing Firefox to render solid black until each widget is focussed, but it now looks like GTK devs expect all of us app developers to find and fix the major fallout from these gdk changes ourselves."},"comment":{"url":"https://api.github.com/repos/mate-desktop/caja/issues/comments/237383807","html_url":"https://github.com/mate-desktop/caja/issues/575#issuecomment-237383807","issue_url":"https://api.github.com/repos/mate-desktop/caja/issues/575","id":237383807,"user":{"login":"lukefromdc","id":14036792,"avatar_url":"https://avatars.githubusercontent.com/u/14036792?v=3","gravatar_id":"","url":"https://api.github.com/users/lukefromdc","html_url":"https://github.com/lukefromdc","followers_url":"https://api.github.com/users/lukefromdc/followers","following_url":"https://api.github.com/users/lukefromdc/following{/other_user}","gists_url":"https://api.github.com/users/lukefromdc/gists{/gist_id}","starred_url":"https://api.github.com/users/lukefromdc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukefromdc/subscriptions","organizations_url":"https://api.github.com/users/lukefromdc/orgs","repos_url":"https://api.github.com/users/lukefromdc/repos","events_url":"https://api.github.com/users/lukefromdc/events{/privacy}","received_events_url":"https://api.github.com/users/lukefromdc/received_events","type":"User","site_admin":false},"created_at":"2016-08-03T21:42:20Z","updated_at":"2016-08-03T21:42:20Z","body":"I would have to figure out where to fetch the cairo_t  to use gtk_render_background, splitting this out for the noncompositing case might be smart because it both allows us to get ahead of the situation now, and because in the compositing case it is lighter code to show what is already being rendered behind the desktop.  May take me a while to play with this , and I hope it doesn't just bring back the nasty redraw issues or crash Caja with \"bad pixmap\" errors like I got until I stripped out every use of the old background rendering code from the GTK 3.21 builds.  Certainly worth a try."}}
{"actor":{"display_login":"lukefromdc"}}