.NET wrapper for Gtk and other related libraries
Go to file
Andres G. Aragoneses 9eff181e46 do not report yet violations if guithread is not set yet
Without this change, the call to Gtk.Application.Init() would
be reported as a violation itself.

(Detected, and bugfix tested, in MonoDevelop & Banshee)
2012-09-21 21:33:46 +01:00
profiler do not report yet violations if guithread is not set yet 2012-09-21 21:33:46 +01:00
aclocal.m4 Add missing files. 2011-03-01 12:14:26 +01:00
AUTHORS Initial commit 2011-02-28 18:42:08 +01:00
autogen.sh Initial commit 2011-02-28 18:42:08 +01:00
ChangeLog Add missing files. 2011-03-01 12:14:26 +01:00
configure.in Initial commit 2011-02-28 18:42:08 +01:00
COPYING Initial commit 2011-02-28 18:42:08 +01:00
gui-thread-check.sln Initial commit 2011-02-28 18:42:08 +01:00
INSTALL Initial commit 2011-02-28 18:42:08 +01:00
Makefile.am Initial commit 2011-02-28 18:42:08 +01:00
NEWS Initial commit 2011-02-28 18:42:08 +01:00
README Add missing files. 2011-03-01 12:14:26 +01:00

The gui-thread-check profile module
===================================

This profiler module can be used to check if a GTK# application is trying to
invoke gtk or gdk methods from a thread which is not the main GUI thread.

To use it, build and install the module, and then run your application with
the command:

  mono --profile=gui-thread-check yourapp.exe

If the profiler is properly installed, you'll see an output like this:

*** Running with gui-thread-check ***
*** GUI THREAD INITIALIZED: 2861676352

While the application is running, if the profiler detects a non-gui thread
invoking gtk methods, it will print a warning message together with a
stack trace. For example:

*** GTK CALL NOT IN GUI THREAD: Widget.gtk_widget_get_parent
   Widget.get_Parent
   SourceEditorWidget.SetLastActiveEditor
   SourceEditorWidget.get_TextEditor
   SourceEditorWidget.get_Document
   SourceEditorWidget.HandleParseInformationUpdaterWorkerThreadDoWork
   BackgroundWorker.OnDoWork
   BackgroundWorker.ProcessWorker