Remove all the code in these sections, and simplify: git grep HORRIBLE_OBSOLETE_YIELDMUTEX_IMPL Presumably there is some degree of simplification / removal of inheritance that can be achieved by doing that. It'd be nice to cleanup that code. Thanks ! :-)
Oh ! I forgot, we should also add a check for a recent(ish) version of gtk+ to our gtk2 plugin to ensure that we are not loaded on a truly ancient gtk+ that does not have the infrastructure needed for: gdk_threads_set_lock_functions We should also cleanup the horrible dlopening hackery that happens in: static bool hookLocks( oslModule pModule ) { typedef void (*GdkLockFn) (GCallback enter_fn, GCallback leave_fn); GdkLockFn gdk_threads_set_lock_functions = (GdkLockFn) osl_getAsciiFunctionSymbol( pModule, "gdk_threads_set_lock_functions" ); if ( !gdk_threads_set_lock_functions ) We should just directly link to gdk_threads_set_lock_functions instead :-) And while we include that we should use #if !GTK_CHECK_VERSION(2,2,0) // or whatever version it is # error "no lock hooking !" #endif to check that at compile time too. Thanks !
Quick question: How do I check if my code solves the issue? I am very new to this?
Just mail in a patch :-) if it compiles and gtk2 still works (it'd be good to check that) then life is good. Otherwise, it's up to the reviewer. Thanks :-)
Hi, I'm student of Faculty of Electrical Engineering on CTU. The goal of my semestral work in the subject Open source programming is to join some existing project and do some useful tasks to improve or extend that project. So I selected this project and this task and I'll do it as soon as possible.
Hi, I push a patch to gerrit https://gerrit.libreoffice.org/3289
Hi, new commit https://gerrit.libreoffice.org/3349
Great - I pushed that. There is more cleanup potential here though ... so lets not close this bug yet. Incidentally - can you put fdo#60690 as the first word in your commit messages so they are associated with here ? here is what else needs doing ;-) These methods need killing: virtual int Grab() { return 0; }; virtual void Ungrab(int ) {}; And all their uses; which rather highlights the fact that "GTK_YIELD_GRAB" has actually not done anything for ages - and we should remove all instances of that macro, and all it's call sides. It was an horrible fallback for the proper integrated locking that we could do with the hook :-) Thanks !
Michael Meeks committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=6a0757f0e0fb4fe4b837f44b2bc9ca6455fa1c5d fdo#60690 - a little more cleanup of gtk+ mutex bits. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Hi, I push it on: https://gerrit.libreoffice.org/3357
vjinoch committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=a1cd39a17216d78b4f335e6301786e205be14d0d fdo#60690 - Remove all calls t GTK_YIELD_GRAB because it does nothing. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Thanks for the great work, we can mark this fixed now :-)
Migrating Whiteboard tags to Keywords: (EasyHack,DifficultyBeginner,SkillCpp,TopicCleanup) [NinjaEdit]