]> git.saurik.com Git - wxWidgets.git/commitdiff
implement event loop for console applications (heavily modified patch 1715735)
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 14 May 2007 23:43:39 +0000 (23:43 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 14 May 2007 23:43:39 +0000 (23:43 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

72 files changed:
Makefile.in
build/bakefiles/files.bkl
build/msw/makefile.bcc
build/msw/makefile.gcc
build/msw/makefile.vc
build/msw/makefile.wat
build/msw/wx_base.dsp
build/msw/wx_core.dsp
configure
configure.in
docs/changes.txt
include/wx/app.h
include/wx/apptrait.h
include/wx/dfb/evtloop.h
include/wx/dfb/nonownedwnd.h
include/wx/event.h
include/wx/evtloop.h
include/wx/list.h
include/wx/mac/carbon/evtloop.h
include/wx/motif/private.h
include/wx/msdos/apptrait.h
include/wx/msw/apptrait.h
include/wx/msw/evtloop.h
include/wx/palmos/evtloop.h
include/wx/private/fdiodispatcher.h [new file with mode: 0644]
include/wx/private/gsocketiohandler.h
include/wx/private/selectdispatcher.h
include/wx/unix/app.h [new file with mode: 0644]
include/wx/unix/apptrait.h
include/wx/unix/evtloop.h [new file with mode: 0644]
include/wx/unix/private/epolldispatcher.h [new file with mode: 0644]
setup.h.in
src/cocoa/evtloop.mm
src/common/appbase.cpp
src/common/appcmn.cpp
src/common/event.cpp
src/common/evtloopcmn.cpp
src/common/fdiodispatcher.cpp [new file with mode: 0644]
src/common/gsocketiohandler.cpp
src/common/selectdispatcher.cpp
src/dfb/evtloop.cpp
src/dfb/utils.cpp
src/gtk/dialog.cpp
src/gtk/evtloop.cpp
src/gtk/toplevel.cpp
src/gtk/utilsgtk.cpp
src/gtk1/evtloop.cpp
src/gtk1/utilsgtk.cpp
src/mac/carbon/evtloop.cpp
src/mac/carbon/utils.cpp
src/mgl/dc.cpp
src/mgl/evtloop.cpp
src/mgl/utils.cpp
src/motif/evtloop.cpp
src/motif/utils.cpp
src/msw/app.cpp
src/msw/basemsw.cpp
src/msw/evtloopmsw.cpp [new file with mode: 0644]
src/msw/window.cpp
src/os2/evtloop.cpp
src/os2/utilsgui.cpp
src/palmos/app.cpp
src/palmos/evtloop.cpp
src/unix/appunix.cpp [new file with mode: 0644]
src/unix/baseunix.cpp
src/unix/epolldispatcher.cpp [new file with mode: 0644]
src/unix/evtloopunix.cpp [new file with mode: 0644]
src/x11/evtloop.cpp
src/x11/utils.cpp
wxGTK.spec
wxMotif.spec
wxX11.spec

index da2e1dd89dbd2c462721cdb92736207a2abfee98..6365f371487e56e17919bac9196cf88f4558f94a 100644 (file)
@@ -571,9 +571,11 @@ ALL_PORTS_BASE_HEADERS =  \
        wx/xtistrm.h \
        wx/zipstrm.h \
        wx/zstream.h \
+       wx/unix/app.h \
        wx/unix/apptbase.h \
        wx/unix/apptrait.h \
        wx/unix/execute.h \
+       wx/unix/evtloop.h \
        wx/unix/mimetype.h \
        wx/unix/pipe.h \
        wx/unix/private.h \
@@ -646,6 +648,7 @@ ALL_BASE_SOURCES =  \
        src/common/dynlib.cpp \
        src/common/dynload.cpp \
        src/common/encconv.cpp \
+       src/common/evtloopcmn.cpp \
        src/common/extended.c \
        src/common/ffile.cpp \
        src/common/file.cpp \
@@ -703,9 +706,14 @@ ALL_BASE_SOURCES =  \
        src/common/xtistrm.cpp \
        src/common/zipstrm.cpp \
        src/common/zstream.cpp \
+       src/common/fdiodispatcher.cpp \
+       src/common/selectdispatcher.cpp \
+       src/unix/appunix.cpp \
        src/unix/baseunix.cpp \
        src/unix/dir.cpp \
        src/unix/dlunix.cpp \
+       src/unix/epolldispatcher.cpp \
+       src/unix/evtloopunix.cpp \
        src/unix/mimetype.cpp \
        src/unix/snglinst.cpp \
        src/unix/stackwalk.cpp \
@@ -762,6 +770,7 @@ ALL_BASE_SOURCES =  \
        src/unix/utilsunx.cpp \
        src/mac/carbon/utils.cpp \
        src/mac/carbon/uma.cpp \
+       src/msw/evtloopmsw.cpp \
        src/msw/main.cpp \
        src/msw/mslu.cpp \
        src/msw/volume.cpp \
@@ -814,6 +823,7 @@ MONODLL_OBJECTS =  \
        monodll_dynlib.o \
        monodll_dynload.o \
        monodll_encconv.o \
+       monodll_evtloopcmn.o \
        monodll_extended.o \
        monodll_ffile.o \
        monodll_file.o \
@@ -926,6 +936,7 @@ MONOLIB_OBJECTS =  \
        monolib_dynlib.o \
        monolib_dynload.o \
        monolib_encconv.o \
+       monolib_evtloopcmn.o \
        monolib_extended.o \
        monolib_ffile.o \
        monolib_file.o \
@@ -1035,6 +1046,7 @@ BASEDLL_OBJECTS =  \
        basedll_dynlib.o \
        basedll_dynload.o \
        basedll_encconv.o \
+       basedll_evtloopcmn.o \
        basedll_extended.o \
        basedll_ffile.o \
        basedll_file.o \
@@ -1127,6 +1139,7 @@ BASELIB_OBJECTS =  \
        baselib_dynlib.o \
        baselib_dynload.o \
        baselib_encconv.o \
+       baselib_evtloopcmn.o \
        baselib_extended.o \
        baselib_ffile.o \
        baselib_file.o \
@@ -1812,9 +1825,11 @@ COND_USE_STC_1___wxscintilla___depname = \
 @COND_TOOLKIT_WINCE@OPENGL_HDR_PLATFORM = wx/msw/glcanvas.h
 @COND_TOOLKIT_X11@OPENGL_HDR_PLATFORM = wx/x11/glcanvas.h wx/unix/glx11.h
 COND_TOOLKIT__BASE_MACOSX_HDR =  \
+       wx/unix/app.h \
        wx/unix/apptbase.h \
        wx/unix/apptrait.h \
        wx/unix/execute.h \
+       wx/unix/evtloop.h \
        wx/unix/mimetype.h \
        wx/unix/pipe.h \
        wx/unix/private.h \
@@ -1825,9 +1840,11 @@ COND_TOOLKIT__BASE_MACOSX_HDR =  \
        wx/mac/corefoundation/stdpaths.h
 @COND_TOOLKIT_@BASE_MACOSX_HDR = $(COND_TOOLKIT__BASE_MACOSX_HDR)
 COND_TOOLKIT_COCOA_BASE_MACOSX_HDR =  \
+       wx/unix/app.h \
        wx/unix/apptbase.h \
        wx/unix/apptrait.h \
        wx/unix/execute.h \
+       wx/unix/evtloop.h \
        wx/unix/mimetype.h \
        wx/unix/pipe.h \
        wx/unix/private.h \
@@ -1838,9 +1855,11 @@ COND_TOOLKIT_COCOA_BASE_MACOSX_HDR =  \
        wx/mac/corefoundation/stdpaths.h
 @COND_TOOLKIT_COCOA@BASE_MACOSX_HDR = $(COND_TOOLKIT_COCOA_BASE_MACOSX_HDR)
 COND_TOOLKIT_GTK_BASE_MACOSX_HDR =  \
+       wx/unix/app.h \
        wx/unix/apptbase.h \
        wx/unix/apptrait.h \
        wx/unix/execute.h \
+       wx/unix/evtloop.h \
        wx/unix/mimetype.h \
        wx/unix/pipe.h \
        wx/unix/private.h \
@@ -1854,14 +1873,18 @@ COND_TOOLKIT_MAC_BASE_MACOSX_HDR =  \
        wx/mac/corefoundation/cfstring.h \
        wx/mac/corefoundation/hid.h \
        wx/mac/corefoundation/stdpaths.h \
+       wx/unix/app.h \
        wx/unix/apptbase.h \
        wx/unix/apptrait.h \
+       wx/unix/evtloop.h \
        wx/unix/stdpaths.h
 @COND_TOOLKIT_MAC@BASE_MACOSX_HDR = $(COND_TOOLKIT_MAC_BASE_MACOSX_HDR)
 COND_TOOLKIT_MOTIF_BASE_MACOSX_HDR =  \
+       wx/unix/app.h \
        wx/unix/apptbase.h \
        wx/unix/apptrait.h \
        wx/unix/execute.h \
+       wx/unix/evtloop.h \
        wx/unix/mimetype.h \
        wx/unix/pipe.h \
        wx/unix/private.h \
@@ -1872,9 +1895,11 @@ COND_TOOLKIT_MOTIF_BASE_MACOSX_HDR =  \
        wx/mac/corefoundation/stdpaths.h
 @COND_TOOLKIT_MOTIF@BASE_MACOSX_HDR = $(COND_TOOLKIT_MOTIF_BASE_MACOSX_HDR)
 COND_TOOLKIT_X11_BASE_MACOSX_HDR =  \
+       wx/unix/app.h \
        wx/unix/apptbase.h \
        wx/unix/apptrait.h \
        wx/unix/execute.h \
+       wx/unix/evtloop.h \
        wx/unix/mimetype.h \
        wx/unix/pipe.h \
        wx/unix/private.h \
@@ -1896,9 +1921,11 @@ COND_PLATFORM_OS2_1_BASE_PLATFORM_HDR =  \
        wx/os2/wxrsc.h
 @COND_PLATFORM_OS2_1@BASE_PLATFORM_HDR = $(COND_PLATFORM_OS2_1_BASE_PLATFORM_HDR)
 COND_PLATFORM_UNIX_1_BASE_PLATFORM_HDR =  \
+       wx/unix/app.h \
        wx/unix/apptbase.h \
        wx/unix/apptrait.h \
        wx/unix/execute.h \
+       wx/unix/evtloop.h \
        wx/unix/mimetype.h \
        wx/unix/pipe.h \
        wx/unix/private.h \
@@ -3390,9 +3417,14 @@ COND_PLATFORM_OS2_1___BASE_PLATFORM_SRC_OBJECTS =  \
        monodll_utilsexc.o
 @COND_PLATFORM_OS2_1@__BASE_PLATFORM_SRC_OBJECTS = $(COND_PLATFORM_OS2_1___BASE_PLATFORM_SRC_OBJECTS)
 COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS =  \
+       monodll_fdiodispatcher.o \
+       monodll_selectdispatcher.o \
+       monodll_appunix.o \
        monodll_baseunix.o \
        monodll_dir.o \
        monodll_dlunix.o \
+       monodll_epolldispatcher.o \
+       monodll_evtloopunix.o \
        monodll_mimetype.o \
        monodll_snglinst.o \
        monodll_stackwalk.o \
@@ -3422,9 +3454,14 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS =  \
 @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS)
 @COND_TOOLKIT_WINCE@__BASE_WINCE_SRC_OBJECTS = monodll_time.o
 COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS =  \
+       monodll_fdiodispatcher.o \
+       monodll_selectdispatcher.o \
+       monodll_appunix.o \
        monodll_baseunix.o \
        monodll_dir.o \
        monodll_dlunix.o \
+       monodll_epolldispatcher.o \
+       monodll_evtloopunix.o \
        monodll_mimetype.o \
        monodll_snglinst.o \
        monodll_stackwalk.o \
@@ -3436,9 +3473,14 @@ COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS =  \
        monodll_utilsexc_base.o
 @COND_TOOLKIT_@__BASE_MACOSX_SRC_OBJECTS = $(COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS)
 COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS =  \
+       monodll_fdiodispatcher.o \
+       monodll_selectdispatcher.o \
+       monodll_appunix.o \
        monodll_baseunix.o \
        monodll_dir.o \
        monodll_dlunix.o \
+       monodll_epolldispatcher.o \
+       monodll_evtloopunix.o \
        monodll_mimetype.o \
        monodll_snglinst.o \
        monodll_stackwalk.o \
@@ -3450,9 +3492,14 @@ COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS =  \
        monodll_utilsexc_base.o
 @COND_TOOLKIT_COCOA@__BASE_MACOSX_SRC_OBJECTS = $(COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS)
 COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS =  \
+       monodll_fdiodispatcher.o \
+       monodll_selectdispatcher.o \
+       monodll_appunix.o \
        monodll_baseunix.o \
        monodll_dir.o \
        monodll_dlunix.o \
+       monodll_epolldispatcher.o \
+       monodll_evtloopunix.o \
        monodll_mimetype.o \
        monodll_snglinst.o \
        monodll_stackwalk.o \
@@ -3473,16 +3520,25 @@ COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS =  \
        monodll_cfstring.o \
        monodll_stdpaths_cf.o \
        monodll_utilsexc_base.o \
+       monodll_fdiodispatcher.o \
+       monodll_selectdispatcher.o \
+       monodll_appunix.o \
        monodll_baseunix.o \
+       monodll_evtloopunix.o \
        monodll_dlunix.o \
        monodll_snglinst.o \
        monodll_stdpaths.o \
        monodll_timerunx.o
 @COND_TOOLKIT_MAC@__BASE_MACOSX_SRC_OBJECTS = $(COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS)
 COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS =  \
+       monodll_fdiodispatcher.o \
+       monodll_selectdispatcher.o \
+       monodll_appunix.o \
        monodll_baseunix.o \
        monodll_dir.o \
        monodll_dlunix.o \
+       monodll_epolldispatcher.o \
+       monodll_evtloopunix.o \
        monodll_mimetype.o \
        monodll_snglinst.o \
        monodll_stackwalk.o \
@@ -3494,9 +3550,14 @@ COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS =  \
        monodll_utilsexc_base.o
 @COND_TOOLKIT_MOTIF@__BASE_MACOSX_SRC_OBJECTS = $(COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS)
 COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS =  \
+       monodll_fdiodispatcher.o \
+       monodll_selectdispatcher.o \
+       monodll_appunix.o \
        monodll_baseunix.o \
        monodll_dir.o \
        monodll_dlunix.o \
+       monodll_epolldispatcher.o \
+       monodll_evtloopunix.o \
        monodll_mimetype.o \
        monodll_snglinst.o \
        monodll_stackwalk.o \
@@ -3513,7 +3574,8 @@ COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS =  \
 @COND_PLATFORM_UNIX_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS \
 @COND_PLATFORM_UNIX_1@ = monodll_utilsunx.o
 @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS \
-@COND_PLATFORM_WIN32_1@        = monodll_main.o monodll_mslu.o monodll_volume.o
+@COND_PLATFORM_WIN32_1@        = monodll_evtloopmsw.o monodll_main.o monodll_mslu.o \
+@COND_PLATFORM_WIN32_1@        monodll_volume.o
 @COND_TOOLKIT_MAC@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS = \
 @COND_TOOLKIT_MAC@     monodll_utils.o monodll_uma.o
 @COND_PLATFORM_MACOSX_1@__NET_PLATFORM_SRC_OBJECTS = monodll_gsocket.o
@@ -3667,7 +3729,6 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS =  \
        monodll_dpycmn.o \
        monodll_dseldlg.o \
        monodll_effects.o \
-       monodll_evtloopcmn.o \
        monodll_fddlgcmn.o \
        monodll_filepickercmn.o \
        monodll_fontpickercmn.o \
@@ -3846,7 +3907,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS =  \
        monodll_dpycmn.o \
        monodll_dseldlg.o \
        monodll_effects.o \
-       monodll_evtloopcmn.o \
        monodll_fddlgcmn.o \
        monodll_filepickercmn.o \
        monodll_fontpickercmn.o \
@@ -3944,7 +4004,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS =  \
 COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS =  \
        monodll_fontmgrcmn.o \
        monodll_gsocketiohandler.o \
-       monodll_selectdispatcher.o \
        monodll_caret.o \
        monodll_colour.o \
        monodll_icon.o \
@@ -4117,7 +4176,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS =  \
        monodll_dib.o \
        monodll_display.o \
        monodll_enhmeta.o \
-       monodll_evtloop.o \
        monodll_font.o \
        monodll_fontenum.o \
        monodll_fontutil.o \
@@ -4170,7 +4228,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS =  \
        monodll_dib.o \
        monodll_display.o \
        monodll_enhmeta.o \
-       monodll_evtloop.o \
        monodll_font.o \
        monodll_fontenum.o \
        monodll_fontutil.o \
@@ -4209,7 +4266,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS =  \
        monodll_utilsx11.o \
        monodll_displayx11.o \
        monodll_gsocketiohandler.o \
-       monodll_selectdispatcher.o \
        monodll_icon.o \
        monodll_timer.o \
        monodll_app.o \
@@ -4777,7 +4833,6 @@ COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS =  \
 COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_1 =  \
        monodll_fontmgrcmn.o \
        monodll_gsocketiohandler.o \
-       monodll_selectdispatcher.o \
        monodll_caret.o \
        monodll_colour.o \
        monodll_icon.o \
@@ -4950,7 +5005,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1 =  \
        monodll_dib.o \
        monodll_display.o \
        monodll_enhmeta.o \
-       monodll_evtloop.o \
        monodll_font.o \
        monodll_fontenum.o \
        monodll_fontutil.o \
@@ -5003,7 +5057,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_1 =  \
        monodll_dib.o \
        monodll_display.o \
        monodll_enhmeta.o \
-       monodll_evtloop.o \
        monodll_font.o \
        monodll_fontenum.o \
        monodll_fontutil.o \
@@ -5042,7 +5095,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_1 =  \
        monodll_utilsx11.o \
        monodll_displayx11.o \
        monodll_gsocketiohandler.o \
-       monodll_selectdispatcher.o \
        monodll_icon.o \
        monodll_timer.o \
        monodll_app.o \
@@ -5200,9 +5252,14 @@ COND_PLATFORM_OS2_1___BASE_PLATFORM_SRC_OBJECTS_1 =  \
        monolib_utilsexc.o
 @COND_PLATFORM_OS2_1@__BASE_PLATFORM_SRC_OBJECTS_1 = $(COND_PLATFORM_OS2_1___BASE_PLATFORM_SRC_OBJECTS_1)
 COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_1 =  \
+       monolib_fdiodispatcher.o \
+       monolib_selectdispatcher.o \
+       monolib_appunix.o \
        monolib_baseunix.o \
        monolib_dir.o \
        monolib_dlunix.o \
+       monolib_epolldispatcher.o \
+       monolib_evtloopunix.o \
        monolib_mimetype.o \
        monolib_snglinst.o \
        monolib_stackwalk.o \
@@ -5232,9 +5289,14 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1 =  \
 @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_1 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1)
 @COND_TOOLKIT_WINCE@__BASE_WINCE_SRC_OBJECTS_1 = monolib_time.o
 COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_1 =  \
+       monolib_fdiodispatcher.o \
+       monolib_selectdispatcher.o \
+       monolib_appunix.o \
        monolib_baseunix.o \
        monolib_dir.o \
        monolib_dlunix.o \
+       monolib_epolldispatcher.o \
+       monolib_evtloopunix.o \
        monolib_mimetype.o \
        monolib_snglinst.o \
        monolib_stackwalk.o \
@@ -5246,9 +5308,14 @@ COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_1 =  \
        monolib_utilsexc_base.o
 @COND_TOOLKIT_@__BASE_MACOSX_SRC_OBJECTS_1 = $(COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_1)
 COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_1 =  \
+       monolib_fdiodispatcher.o \
+       monolib_selectdispatcher.o \
+       monolib_appunix.o \
        monolib_baseunix.o \
        monolib_dir.o \
        monolib_dlunix.o \
+       monolib_epolldispatcher.o \
+       monolib_evtloopunix.o \
        monolib_mimetype.o \
        monolib_snglinst.o \
        monolib_stackwalk.o \
@@ -5260,9 +5327,14 @@ COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_1 =  \
        monolib_utilsexc_base.o
 @COND_TOOLKIT_COCOA@__BASE_MACOSX_SRC_OBJECTS_1 = $(COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_1)
 COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS_1 =  \
+       monolib_fdiodispatcher.o \
+       monolib_selectdispatcher.o \
+       monolib_appunix.o \
        monolib_baseunix.o \
        monolib_dir.o \
        monolib_dlunix.o \
+       monolib_epolldispatcher.o \
+       monolib_evtloopunix.o \
        monolib_mimetype.o \
        monolib_snglinst.o \
        monolib_stackwalk.o \
@@ -5283,16 +5355,25 @@ COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_1 =  \
        monolib_cfstring.o \
        monolib_stdpaths_cf.o \
        monolib_utilsexc_base.o \
+       monolib_fdiodispatcher.o \
+       monolib_selectdispatcher.o \
+       monolib_appunix.o \
        monolib_baseunix.o \
+       monolib_evtloopunix.o \
        monolib_dlunix.o \
        monolib_snglinst.o \
        monolib_stdpaths.o \
        monolib_timerunx.o
 @COND_TOOLKIT_MAC@__BASE_MACOSX_SRC_OBJECTS_1 = $(COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_1)
 COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_1 =  \
+       monolib_fdiodispatcher.o \
+       monolib_selectdispatcher.o \
+       monolib_appunix.o \
        monolib_baseunix.o \
        monolib_dir.o \
        monolib_dlunix.o \
+       monolib_epolldispatcher.o \
+       monolib_evtloopunix.o \
        monolib_mimetype.o \
        monolib_snglinst.o \
        monolib_stackwalk.o \
@@ -5304,9 +5385,14 @@ COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_1 =  \
        monolib_utilsexc_base.o
 @COND_TOOLKIT_MOTIF@__BASE_MACOSX_SRC_OBJECTS_1 = $(COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_1)
 COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_1 =  \
+       monolib_fdiodispatcher.o \
+       monolib_selectdispatcher.o \
+       monolib_appunix.o \
        monolib_baseunix.o \
        monolib_dir.o \
        monolib_dlunix.o \
+       monolib_epolldispatcher.o \
+       monolib_evtloopunix.o \
        monolib_mimetype.o \
        monolib_snglinst.o \
        monolib_stackwalk.o \
@@ -5323,7 +5409,8 @@ COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_1 =  \
 @COND_PLATFORM_UNIX_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_1 \
 @COND_PLATFORM_UNIX_1@ = monolib_utilsunx.o
 @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_1 \
-@COND_PLATFORM_WIN32_1@        = monolib_main.o monolib_mslu.o monolib_volume.o
+@COND_PLATFORM_WIN32_1@        = monolib_evtloopmsw.o monolib_main.o monolib_mslu.o \
+@COND_PLATFORM_WIN32_1@        monolib_volume.o
 @COND_TOOLKIT_MAC@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_1 = \
 @COND_TOOLKIT_MAC@     monolib_utils.o monolib_uma.o
 @COND_PLATFORM_MACOSX_1@__NET_PLATFORM_SRC_OBJECTS_1 = monolib_gsocket.o
@@ -5477,7 +5564,6 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 =  \
        monolib_dpycmn.o \
        monolib_dseldlg.o \
        monolib_effects.o \
-       monolib_evtloopcmn.o \
        monolib_fddlgcmn.o \
        monolib_filepickercmn.o \
        monolib_fontpickercmn.o \
@@ -5656,7 +5742,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 =  \
        monolib_dpycmn.o \
        monolib_dseldlg.o \
        monolib_effects.o \
-       monolib_evtloopcmn.o \
        monolib_fddlgcmn.o \
        monolib_filepickercmn.o \
        monolib_fontpickercmn.o \
@@ -5754,7 +5839,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 =  \
 COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_2 =  \
        monolib_fontmgrcmn.o \
        monolib_gsocketiohandler.o \
-       monolib_selectdispatcher.o \
        monolib_caret.o \
        monolib_colour.o \
        monolib_icon.o \
@@ -5928,7 +6012,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2 =  \
        monolib_dib.o \
        monolib_display.o \
        monolib_enhmeta.o \
-       monolib_evtloop.o \
        monolib_font.o \
        monolib_fontenum.o \
        monolib_fontutil.o \
@@ -5981,7 +6064,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_2 =  \
        monolib_dib.o \
        monolib_display.o \
        monolib_enhmeta.o \
-       monolib_evtloop.o \
        monolib_font.o \
        monolib_fontenum.o \
        monolib_fontutil.o \
@@ -6020,7 +6102,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_2 =  \
        monolib_utilsx11.o \
        monolib_displayx11.o \
        monolib_gsocketiohandler.o \
-       monolib_selectdispatcher.o \
        monolib_icon.o \
        monolib_timer.o \
        monolib_app.o \
@@ -6588,7 +6669,6 @@ COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS_1 =  \
 COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_3 =  \
        monolib_fontmgrcmn.o \
        monolib_gsocketiohandler.o \
-       monolib_selectdispatcher.o \
        monolib_caret.o \
        monolib_colour.o \
        monolib_icon.o \
@@ -6762,7 +6842,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3 =  \
        monolib_dib.o \
        monolib_display.o \
        monolib_enhmeta.o \
-       monolib_evtloop.o \
        monolib_font.o \
        monolib_fontenum.o \
        monolib_fontutil.o \
@@ -6815,7 +6894,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_3 =  \
        monolib_dib.o \
        monolib_display.o \
        monolib_enhmeta.o \
-       monolib_evtloop.o \
        monolib_font.o \
        monolib_fontenum.o \
        monolib_fontutil.o \
@@ -6854,7 +6932,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_3 =  \
        monolib_utilsx11.o \
        monolib_displayx11.o \
        monolib_gsocketiohandler.o \
-       monolib_selectdispatcher.o \
        monolib_icon.o \
        monolib_timer.o \
        monolib_app.o \
@@ -7047,9 +7124,14 @@ COND_PLATFORM_OS2_1___BASE_PLATFORM_SRC_OBJECTS_2 =  \
        basedll_utilsexc.o
 @COND_PLATFORM_OS2_1@__BASE_PLATFORM_SRC_OBJECTS_2 = $(COND_PLATFORM_OS2_1___BASE_PLATFORM_SRC_OBJECTS_2)
 COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_2 =  \
+       basedll_fdiodispatcher.o \
+       basedll_selectdispatcher.o \
+       basedll_appunix.o \
        basedll_baseunix.o \
        basedll_dir.o \
        basedll_dlunix.o \
+       basedll_epolldispatcher.o \
+       basedll_evtloopunix.o \
        basedll_mimetype.o \
        basedll_snglinst.o \
        basedll_stackwalk.o \
@@ -7079,9 +7161,14 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2 =  \
 @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_2 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2)
 @COND_TOOLKIT_WINCE@__BASE_WINCE_SRC_OBJECTS_2 = basedll_time.o
 COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_2 =  \
+       basedll_fdiodispatcher.o \
+       basedll_selectdispatcher.o \
+       basedll_appunix.o \
        basedll_baseunix.o \
        basedll_dir.o \
        basedll_dlunix.o \
+       basedll_epolldispatcher.o \
+       basedll_evtloopunix.o \
        basedll_mimetype.o \
        basedll_snglinst.o \
        basedll_stackwalk.o \
@@ -7093,9 +7180,14 @@ COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_2 =  \
        basedll_utilsexc_base.o
 @COND_TOOLKIT_@__BASE_MACOSX_SRC_OBJECTS_2 = $(COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_2)
 COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_2 =  \
+       basedll_fdiodispatcher.o \
+       basedll_selectdispatcher.o \
+       basedll_appunix.o \
        basedll_baseunix.o \
        basedll_dir.o \
        basedll_dlunix.o \
+       basedll_epolldispatcher.o \
+       basedll_evtloopunix.o \
        basedll_mimetype.o \
        basedll_snglinst.o \
        basedll_stackwalk.o \
@@ -7107,9 +7199,14 @@ COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_2 =  \
        basedll_utilsexc_base.o
 @COND_TOOLKIT_COCOA@__BASE_MACOSX_SRC_OBJECTS_2 = $(COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_2)
 COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS_2 =  \
+       basedll_fdiodispatcher.o \
+       basedll_selectdispatcher.o \
+       basedll_appunix.o \
        basedll_baseunix.o \
        basedll_dir.o \
        basedll_dlunix.o \
+       basedll_epolldispatcher.o \
+       basedll_evtloopunix.o \
        basedll_mimetype.o \
        basedll_snglinst.o \
        basedll_stackwalk.o \
@@ -7130,16 +7227,25 @@ COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_2 =  \
        basedll_cfstring.o \
        basedll_stdpaths_cf.o \
        basedll_utilsexc_base.o \
+       basedll_fdiodispatcher.o \
+       basedll_selectdispatcher.o \
+       basedll_appunix.o \
        basedll_baseunix.o \
+       basedll_evtloopunix.o \
        basedll_dlunix.o \
        basedll_snglinst.o \
        basedll_stdpaths.o \
        basedll_timerunx.o
 @COND_TOOLKIT_MAC@__BASE_MACOSX_SRC_OBJECTS_2 = $(COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_2)
 COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_2 =  \
+       basedll_fdiodispatcher.o \
+       basedll_selectdispatcher.o \
+       basedll_appunix.o \
        basedll_baseunix.o \
        basedll_dir.o \
        basedll_dlunix.o \
+       basedll_epolldispatcher.o \
+       basedll_evtloopunix.o \
        basedll_mimetype.o \
        basedll_snglinst.o \
        basedll_stackwalk.o \
@@ -7151,9 +7257,14 @@ COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_2 =  \
        basedll_utilsexc_base.o
 @COND_TOOLKIT_MOTIF@__BASE_MACOSX_SRC_OBJECTS_2 = $(COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_2)
 COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_2 =  \
+       basedll_fdiodispatcher.o \
+       basedll_selectdispatcher.o \
+       basedll_appunix.o \
        basedll_baseunix.o \
        basedll_dir.o \
        basedll_dlunix.o \
+       basedll_epolldispatcher.o \
+       basedll_evtloopunix.o \
        basedll_mimetype.o \
        basedll_snglinst.o \
        basedll_stackwalk.o \
@@ -7170,7 +7281,8 @@ COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_2 =  \
 @COND_PLATFORM_UNIX_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_2 \
 @COND_PLATFORM_UNIX_1@ = basedll_utilsunx.o
 @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_2 \
-@COND_PLATFORM_WIN32_1@        = basedll_main.o basedll_mslu.o basedll_volume.o
+@COND_PLATFORM_WIN32_1@        = basedll_evtloopmsw.o basedll_main.o basedll_mslu.o \
+@COND_PLATFORM_WIN32_1@        basedll_volume.o
 @COND_TOOLKIT_MAC@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_2 = \
 @COND_TOOLKIT_MAC@     basedll_utils.o basedll_uma.o
 COND_MONOLITHIC_0_SHARED_0___baselib___depname = \
@@ -7218,9 +7330,14 @@ COND_PLATFORM_OS2_1___BASE_PLATFORM_SRC_OBJECTS_3 =  \
        baselib_utilsexc.o
 @COND_PLATFORM_OS2_1@__BASE_PLATFORM_SRC_OBJECTS_3 = $(COND_PLATFORM_OS2_1___BASE_PLATFORM_SRC_OBJECTS_3)
 COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_3 =  \
+       baselib_fdiodispatcher.o \
+       baselib_selectdispatcher.o \
+       baselib_appunix.o \
        baselib_baseunix.o \
        baselib_dir.o \
        baselib_dlunix.o \
+       baselib_epolldispatcher.o \
+       baselib_evtloopunix.o \
        baselib_mimetype.o \
        baselib_snglinst.o \
        baselib_stackwalk.o \
@@ -7250,9 +7367,14 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3 =  \
 @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_3 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3)
 @COND_TOOLKIT_WINCE@__BASE_WINCE_SRC_OBJECTS_3 = baselib_time.o
 COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_3 =  \
+       baselib_fdiodispatcher.o \
+       baselib_selectdispatcher.o \
+       baselib_appunix.o \
        baselib_baseunix.o \
        baselib_dir.o \
        baselib_dlunix.o \
+       baselib_epolldispatcher.o \
+       baselib_evtloopunix.o \
        baselib_mimetype.o \
        baselib_snglinst.o \
        baselib_stackwalk.o \
@@ -7264,9 +7386,14 @@ COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_3 =  \
        baselib_utilsexc_base.o
 @COND_TOOLKIT_@__BASE_MACOSX_SRC_OBJECTS_3 = $(COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_3)
 COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_3 =  \
+       baselib_fdiodispatcher.o \
+       baselib_selectdispatcher.o \
+       baselib_appunix.o \
        baselib_baseunix.o \
        baselib_dir.o \
        baselib_dlunix.o \
+       baselib_epolldispatcher.o \
+       baselib_evtloopunix.o \
        baselib_mimetype.o \
        baselib_snglinst.o \
        baselib_stackwalk.o \
@@ -7278,9 +7405,14 @@ COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_3 =  \
        baselib_utilsexc_base.o
 @COND_TOOLKIT_COCOA@__BASE_MACOSX_SRC_OBJECTS_3 = $(COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_3)
 COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS_3 =  \
+       baselib_fdiodispatcher.o \
+       baselib_selectdispatcher.o \
+       baselib_appunix.o \
        baselib_baseunix.o \
        baselib_dir.o \
        baselib_dlunix.o \
+       baselib_epolldispatcher.o \
+       baselib_evtloopunix.o \
        baselib_mimetype.o \
        baselib_snglinst.o \
        baselib_stackwalk.o \
@@ -7301,16 +7433,25 @@ COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_3 =  \
        baselib_cfstring.o \
        baselib_stdpaths_cf.o \
        baselib_utilsexc_base.o \
+       baselib_fdiodispatcher.o \
+       baselib_selectdispatcher.o \
+       baselib_appunix.o \
        baselib_baseunix.o \
+       baselib_evtloopunix.o \
        baselib_dlunix.o \
        baselib_snglinst.o \
        baselib_stdpaths.o \
        baselib_timerunx.o
 @COND_TOOLKIT_MAC@__BASE_MACOSX_SRC_OBJECTS_3 = $(COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_3)
 COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_3 =  \
+       baselib_fdiodispatcher.o \
+       baselib_selectdispatcher.o \
+       baselib_appunix.o \
        baselib_baseunix.o \
        baselib_dir.o \
        baselib_dlunix.o \
+       baselib_epolldispatcher.o \
+       baselib_evtloopunix.o \
        baselib_mimetype.o \
        baselib_snglinst.o \
        baselib_stackwalk.o \
@@ -7322,9 +7463,14 @@ COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_3 =  \
        baselib_utilsexc_base.o
 @COND_TOOLKIT_MOTIF@__BASE_MACOSX_SRC_OBJECTS_3 = $(COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_3)
 COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_3 =  \
+       baselib_fdiodispatcher.o \
+       baselib_selectdispatcher.o \
+       baselib_appunix.o \
        baselib_baseunix.o \
        baselib_dir.o \
        baselib_dlunix.o \
+       baselib_epolldispatcher.o \
+       baselib_evtloopunix.o \
        baselib_mimetype.o \
        baselib_snglinst.o \
        baselib_stackwalk.o \
@@ -7341,7 +7487,8 @@ COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_3 =  \
 @COND_PLATFORM_UNIX_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_3 \
 @COND_PLATFORM_UNIX_1@ = baselib_utilsunx.o
 @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_3 \
-@COND_PLATFORM_WIN32_1@        = baselib_main.o baselib_mslu.o baselib_volume.o
+@COND_PLATFORM_WIN32_1@        = baselib_evtloopmsw.o baselib_main.o baselib_mslu.o \
+@COND_PLATFORM_WIN32_1@        baselib_volume.o
 @COND_TOOLKIT_MAC@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_3 = \
 @COND_TOOLKIT_MAC@     baselib_utils.o baselib_uma.o
 @COND_SHARED_1@____wxbase_namedll_DEP = $(__basedll___depname)
@@ -7482,7 +7629,8 @@ COND_USE_SOSYMLINKS_1___coredll___so_symlinks_uninst_cmd = rm -f \
 @COND_PLATFORM_UNIX_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_4 \
 @COND_PLATFORM_UNIX_1@ = coredll_utilsunx.o
 @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_4 \
-@COND_PLATFORM_WIN32_1@        = coredll_main.o coredll_mslu.o coredll_volume.o
+@COND_PLATFORM_WIN32_1@        = coredll_evtloopmsw.o coredll_main.o coredll_mslu.o \
+@COND_PLATFORM_WIN32_1@        coredll_volume.o
 @COND_TOOLKIT_MAC@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_4 = \
 @COND_TOOLKIT_MAC@     coredll_utils.o coredll_uma.o
 COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 =  \
@@ -7521,7 +7669,6 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 =  \
        coredll_dpycmn.o \
        coredll_dseldlg.o \
        coredll_effects.o \
-       coredll_evtloopcmn.o \
        coredll_fddlgcmn.o \
        coredll_filepickercmn.o \
        coredll_fontpickercmn.o \
@@ -7700,7 +7847,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 =  \
        coredll_dpycmn.o \
        coredll_dseldlg.o \
        coredll_effects.o \
-       coredll_evtloopcmn.o \
        coredll_fddlgcmn.o \
        coredll_filepickercmn.o \
        coredll_fontpickercmn.o \
@@ -7798,7 +7944,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 =  \
 COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_4 =  \
        coredll_fontmgrcmn.o \
        coredll_gsocketiohandler.o \
-       coredll_selectdispatcher.o \
        coredll_caret.o \
        coredll_colour.o \
        coredll_icon.o \
@@ -7972,7 +8117,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4 =  \
        coredll_dib.o \
        coredll_display.o \
        coredll_enhmeta.o \
-       coredll_evtloop.o \
        coredll_font.o \
        coredll_fontenum.o \
        coredll_fontutil.o \
@@ -8025,7 +8169,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_4 =  \
        coredll_dib.o \
        coredll_display.o \
        coredll_enhmeta.o \
-       coredll_evtloop.o \
        coredll_font.o \
        coredll_fontenum.o \
        coredll_fontutil.o \
@@ -8064,7 +8207,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_4 =  \
        coredll_utilsx11.o \
        coredll_displayx11.o \
        coredll_gsocketiohandler.o \
-       coredll_selectdispatcher.o \
        coredll_icon.o \
        coredll_timer.o \
        coredll_app.o \
@@ -8632,7 +8774,6 @@ COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS_2 =  \
 COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_5 =  \
        coredll_fontmgrcmn.o \
        coredll_gsocketiohandler.o \
-       coredll_selectdispatcher.o \
        coredll_caret.o \
        coredll_colour.o \
        coredll_icon.o \
@@ -8806,7 +8947,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5 =  \
        coredll_dib.o \
        coredll_display.o \
        coredll_enhmeta.o \
-       coredll_evtloop.o \
        coredll_font.o \
        coredll_fontenum.o \
        coredll_fontutil.o \
@@ -8859,7 +8999,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_5 =  \
        coredll_dib.o \
        coredll_display.o \
        coredll_enhmeta.o \
-       coredll_evtloop.o \
        coredll_font.o \
        coredll_fontenum.o \
        coredll_fontutil.o \
@@ -8898,7 +9037,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_5 =  \
        coredll_utilsx11.o \
        coredll_displayx11.o \
        coredll_gsocketiohandler.o \
-       coredll_selectdispatcher.o \
        coredll_icon.o \
        coredll_timer.o \
        coredll_app.o \
@@ -8946,7 +9084,8 @@ COND_MONOLITHIC_0_SHARED_0_USE_GUI_1___corelib___depname = \
 @COND_PLATFORM_UNIX_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_5 \
 @COND_PLATFORM_UNIX_1@ = corelib_utilsunx.o
 @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_5 \
-@COND_PLATFORM_WIN32_1@        = corelib_main.o corelib_mslu.o corelib_volume.o
+@COND_PLATFORM_WIN32_1@        = corelib_evtloopmsw.o corelib_main.o corelib_mslu.o \
+@COND_PLATFORM_WIN32_1@        corelib_volume.o
 @COND_TOOLKIT_MAC@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_5 = \
 @COND_TOOLKIT_MAC@     corelib_utils.o corelib_uma.o
 COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 =  \
@@ -8985,7 +9124,6 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 =  \
        corelib_dpycmn.o \
        corelib_dseldlg.o \
        corelib_effects.o \
-       corelib_evtloopcmn.o \
        corelib_fddlgcmn.o \
        corelib_filepickercmn.o \
        corelib_fontpickercmn.o \
@@ -9164,7 +9302,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 =  \
        corelib_dpycmn.o \
        corelib_dseldlg.o \
        corelib_effects.o \
-       corelib_evtloopcmn.o \
        corelib_fddlgcmn.o \
        corelib_filepickercmn.o \
        corelib_fontpickercmn.o \
@@ -9262,7 +9399,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 =  \
 COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_6 =  \
        corelib_fontmgrcmn.o \
        corelib_gsocketiohandler.o \
-       corelib_selectdispatcher.o \
        corelib_caret.o \
        corelib_colour.o \
        corelib_icon.o \
@@ -9436,7 +9572,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6 =  \
        corelib_dib.o \
        corelib_display.o \
        corelib_enhmeta.o \
-       corelib_evtloop.o \
        corelib_font.o \
        corelib_fontenum.o \
        corelib_fontutil.o \
@@ -9489,7 +9624,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_6 =  \
        corelib_dib.o \
        corelib_display.o \
        corelib_enhmeta.o \
-       corelib_evtloop.o \
        corelib_font.o \
        corelib_fontenum.o \
        corelib_fontutil.o \
@@ -9528,7 +9662,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_6 =  \
        corelib_utilsx11.o \
        corelib_displayx11.o \
        corelib_gsocketiohandler.o \
-       corelib_selectdispatcher.o \
        corelib_icon.o \
        corelib_timer.o \
        corelib_app.o \
@@ -10096,7 +10229,6 @@ COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS_3 =  \
 COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_7 =  \
        corelib_fontmgrcmn.o \
        corelib_gsocketiohandler.o \
-       corelib_selectdispatcher.o \
        corelib_caret.o \
        corelib_colour.o \
        corelib_icon.o \
@@ -10270,7 +10402,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7 =  \
        corelib_dib.o \
        corelib_display.o \
        corelib_enhmeta.o \
-       corelib_evtloop.o \
        corelib_font.o \
        corelib_fontenum.o \
        corelib_fontutil.o \
@@ -10323,7 +10454,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_7 =  \
        corelib_dib.o \
        corelib_display.o \
        corelib_enhmeta.o \
-       corelib_evtloop.o \
        corelib_font.o \
        corelib_fontenum.o \
        corelib_fontutil.o \
@@ -10362,7 +10492,6 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_7 =  \
        corelib_utilsx11.o \
        corelib_displayx11.o \
        corelib_gsocketiohandler.o \
-       corelib_selectdispatcher.o \
        corelib_icon.o \
        corelib_timer.o \
        corelib_app.o \
@@ -13283,6 +13412,9 @@ monodll_dynload.o: $(srcdir)/src/common/dynload.cpp $(MONODLL_ODEP)
 monodll_encconv.o: $(srcdir)/src/common/encconv.cpp $(MONODLL_ODEP)
        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/encconv.cpp
 
+monodll_evtloopcmn.o: $(srcdir)/src/common/evtloopcmn.cpp $(MONODLL_ODEP)
+       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/evtloopcmn.cpp
+
 monodll_extended.o: $(srcdir)/src/common/extended.c $(MONODLL_ODEP)
        $(CCC) -c -o $@ $(MONODLL_CFLAGS) $(srcdir)/src/common/extended.c
 
@@ -13523,6 +13655,9 @@ monodll_msgout.o: $(srcdir)/src/common/msgout.cpp $(MONODLL_ODEP)
 monodll_utilscmn.o: $(srcdir)/src/common/utilscmn.cpp $(MONODLL_ODEP)
        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/utilscmn.cpp
 
+monodll_evtloopmsw.o: $(srcdir)/src/msw/evtloopmsw.cpp $(MONODLL_ODEP)
+       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/evtloopmsw.cpp
+
 monodll_mslu.o: $(srcdir)/src/msw/mslu.cpp $(MONODLL_ODEP)
        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/mslu.cpp
 
@@ -14078,6 +14213,69 @@ monodll_xtixml.o: $(srcdir)/src/common/xtixml.cpp $(MONODLL_ODEP)
 monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/sound_sdl.cpp
 
+@COND_PLATFORM_UNIX_1@monodll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monodll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monodll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monodll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monodll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monodll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monodll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@monodll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monodll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monodll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monodll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monodll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monodll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monodll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@monodll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monodll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monodll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monodll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monodll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monodll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monodll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
 @COND_PLATFORM_UNIX_1@monodll_baseunix.o: $(srcdir)/src/unix/baseunix.cpp $(MONODLL_ODEP)
 @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/baseunix.cpp
 
@@ -14147,6 +14345,45 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_@monodll_dlunix.o: $(srcdir)/src/unix/dlunix.cpp $(MONODLL_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/dlunix.cpp
 
+@COND_PLATFORM_UNIX_1@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
 @COND_PLATFORM_UNIX_1@monodll_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(MONODLL_ODEP)
 @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
 
@@ -15077,12 +15314,6 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monodll_evtloop.o: $(srcdir)/src/gtk1/evtloop.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@  $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk1/evtloop.cpp
 
-@COND_TOOLKIT_MSW_USE_GUI_1@monodll_evtloop.o: $(srcdir)/src/msw/evtloop.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_MSW_USE_GUI_1@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/evtloop.cpp
-
-@COND_TOOLKIT_WINCE_USE_GUI_1@monodll_evtloop.o: $(srcdir)/src/msw/evtloop.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/evtloop.cpp
-
 @COND_TOOLKIT_X11_USE_GUI_1@monodll_evtloop.o: $(srcdir)/src/x11/evtloop.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_X11_USE_GUI_1@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/x11/evtloop.cpp
 
@@ -15614,12 +15845,6 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_DFB_USE_GUI_1@monodll_gsocketiohandler.o: $(srcdir)/src/common/gsocketiohandler.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_DFB_USE_GUI_1@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/gsocketiohandler.cpp
 
-@COND_TOOLKIT_X11_USE_GUI_1@monodll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_X11_USE_GUI_1@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
-
-@COND_TOOLKIT_DFB_USE_GUI_1@monodll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_DFB_USE_GUI_1@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
-
 @COND_TOOLKIT_X11_USE_GUI_1@monodll_nanox.o: $(srcdir)/src/x11/nanox.c $(MONODLL_ODEP)
 @COND_TOOLKIT_X11_USE_GUI_1@   $(CCC) -c -o $@ $(MONODLL_CFLAGS) $(srcdir)/src/x11/nanox.c
 
@@ -16925,9 +17150,6 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@monodll_effects.o: $(srcdir)/src/common/effects.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/effects.cpp
 
-@COND_USE_GUI_1@monodll_evtloopcmn.o: $(srcdir)/src/common/evtloopcmn.cpp $(MONODLL_ODEP)
-@COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/evtloopcmn.cpp
-
 @COND_USE_GUI_1@monodll_fddlgcmn.o: $(srcdir)/src/common/fddlgcmn.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fddlgcmn.cpp
 
@@ -17483,6 +17705,9 @@ monolib_dynload.o: $(srcdir)/src/common/dynload.cpp $(MONOLIB_ODEP)
 monolib_encconv.o: $(srcdir)/src/common/encconv.cpp $(MONOLIB_ODEP)
        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/encconv.cpp
 
+monolib_evtloopcmn.o: $(srcdir)/src/common/evtloopcmn.cpp $(MONOLIB_ODEP)
+       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/evtloopcmn.cpp
+
 monolib_extended.o: $(srcdir)/src/common/extended.c $(MONOLIB_ODEP)
        $(CCC) -c -o $@ $(MONOLIB_CFLAGS) $(srcdir)/src/common/extended.c
 
@@ -17723,6 +17948,9 @@ monolib_msgout.o: $(srcdir)/src/common/msgout.cpp $(MONOLIB_ODEP)
 monolib_utilscmn.o: $(srcdir)/src/common/utilscmn.cpp $(MONOLIB_ODEP)
        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/utilscmn.cpp
 
+monolib_evtloopmsw.o: $(srcdir)/src/msw/evtloopmsw.cpp $(MONOLIB_ODEP)
+       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/evtloopmsw.cpp
+
 monolib_mslu.o: $(srcdir)/src/msw/mslu.cpp $(MONOLIB_ODEP)
        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/mslu.cpp
 
@@ -18278,6 +18506,69 @@ monolib_xtixml.o: $(srcdir)/src/common/xtixml.cpp $(MONOLIB_ODEP)
 monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/sound_sdl.cpp
 
+@COND_PLATFORM_UNIX_1@monolib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monolib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monolib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monolib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monolib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monolib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monolib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@monolib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monolib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monolib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monolib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monolib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monolib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monolib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@monolib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monolib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monolib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monolib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monolib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monolib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monolib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
 @COND_PLATFORM_UNIX_1@monolib_baseunix.o: $(srcdir)/src/unix/baseunix.cpp $(MONOLIB_ODEP)
 @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/baseunix.cpp
 
@@ -18347,6 +18638,45 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_@monolib_dlunix.o: $(srcdir)/src/unix/dlunix.cpp $(MONOLIB_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/dlunix.cpp
 
+@COND_PLATFORM_UNIX_1@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
 @COND_PLATFORM_UNIX_1@monolib_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(MONOLIB_ODEP)
 @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
 
@@ -19277,12 +19607,6 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monolib_evtloop.o: $(srcdir)/src/gtk1/evtloop.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@  $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk1/evtloop.cpp
 
-@COND_TOOLKIT_MSW_USE_GUI_1@monolib_evtloop.o: $(srcdir)/src/msw/evtloop.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_MSW_USE_GUI_1@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/evtloop.cpp
-
-@COND_TOOLKIT_WINCE_USE_GUI_1@monolib_evtloop.o: $(srcdir)/src/msw/evtloop.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/evtloop.cpp
-
 @COND_TOOLKIT_X11_USE_GUI_1@monolib_evtloop.o: $(srcdir)/src/x11/evtloop.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_X11_USE_GUI_1@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/x11/evtloop.cpp
 
@@ -19814,12 +20138,6 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_DFB_USE_GUI_1@monolib_gsocketiohandler.o: $(srcdir)/src/common/gsocketiohandler.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_DFB_USE_GUI_1@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/gsocketiohandler.cpp
 
-@COND_TOOLKIT_X11_USE_GUI_1@monolib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_X11_USE_GUI_1@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
-
-@COND_TOOLKIT_DFB_USE_GUI_1@monolib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_DFB_USE_GUI_1@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
-
 @COND_TOOLKIT_X11_USE_GUI_1@monolib_nanox.o: $(srcdir)/src/x11/nanox.c $(MONOLIB_ODEP)
 @COND_TOOLKIT_X11_USE_GUI_1@   $(CCC) -c -o $@ $(MONOLIB_CFLAGS) $(srcdir)/src/x11/nanox.c
 
@@ -21125,9 +21443,6 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@monolib_effects.o: $(srcdir)/src/common/effects.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/effects.cpp
 
-@COND_USE_GUI_1@monolib_evtloopcmn.o: $(srcdir)/src/common/evtloopcmn.cpp $(MONOLIB_ODEP)
-@COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/evtloopcmn.cpp
-
 @COND_USE_GUI_1@monolib_fddlgcmn.o: $(srcdir)/src/common/fddlgcmn.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fddlgcmn.cpp
 
@@ -21683,6 +21998,9 @@ basedll_dynload.o: $(srcdir)/src/common/dynload.cpp $(BASEDLL_ODEP)
 basedll_encconv.o: $(srcdir)/src/common/encconv.cpp $(BASEDLL_ODEP)
        $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/encconv.cpp
 
+basedll_evtloopcmn.o: $(srcdir)/src/common/evtloopcmn.cpp $(BASEDLL_ODEP)
+       $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/evtloopcmn.cpp
+
 basedll_extended.o: $(srcdir)/src/common/extended.c $(BASEDLL_ODEP)
        $(CCC) -c -o $@ $(BASEDLL_CFLAGS) $(srcdir)/src/common/extended.c
 
@@ -21926,6 +22244,9 @@ basedll_msgout.o: $(srcdir)/src/common/msgout.cpp $(BASEDLL_ODEP)
 basedll_utilscmn.o: $(srcdir)/src/common/utilscmn.cpp $(BASEDLL_ODEP)
        $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/utilscmn.cpp
 
+basedll_evtloopmsw.o: $(srcdir)/src/msw/evtloopmsw.cpp $(BASEDLL_ODEP)
+       $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/msw/evtloopmsw.cpp
+
 basedll_main.o: $(srcdir)/src/msw/main.cpp $(BASEDLL_ODEP)
        $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/msw/main.cpp
 
@@ -21938,6 +22259,69 @@ basedll_volume.o: $(srcdir)/src/msw/volume.cpp $(BASEDLL_ODEP)
 basedll_uma.o: $(srcdir)/src/mac/carbon/uma.cpp $(BASEDLL_ODEP)
        $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/mac/carbon/uma.cpp
 
+@COND_PLATFORM_UNIX_1@basedll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@basedll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@basedll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@basedll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@basedll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@basedll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@basedll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@basedll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@basedll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@basedll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@basedll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@basedll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@basedll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@basedll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@basedll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@basedll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@basedll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@basedll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@basedll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@basedll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@basedll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
 @COND_PLATFORM_UNIX_1@basedll_baseunix.o: $(srcdir)/src/unix/baseunix.cpp $(BASEDLL_ODEP)
 @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/baseunix.cpp
 
@@ -22007,6 +22391,45 @@ basedll_uma.o: $(srcdir)/src/mac/carbon/uma.cpp $(BASEDLL_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_@basedll_dlunix.o: $(srcdir)/src/unix/dlunix.cpp $(BASEDLL_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/dlunix.cpp
 
+@COND_PLATFORM_UNIX_1@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
 @COND_PLATFORM_UNIX_1@basedll_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(BASEDLL_ODEP)
 @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
 
@@ -22319,6 +22742,9 @@ baselib_dynload.o: $(srcdir)/src/common/dynload.cpp $(BASELIB_ODEP)
 baselib_encconv.o: $(srcdir)/src/common/encconv.cpp $(BASELIB_ODEP)
        $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/encconv.cpp
 
+baselib_evtloopcmn.o: $(srcdir)/src/common/evtloopcmn.cpp $(BASELIB_ODEP)
+       $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/evtloopcmn.cpp
+
 baselib_extended.o: $(srcdir)/src/common/extended.c $(BASELIB_ODEP)
        $(CCC) -c -o $@ $(BASELIB_CFLAGS) $(srcdir)/src/common/extended.c
 
@@ -22562,6 +22988,9 @@ baselib_msgout.o: $(srcdir)/src/common/msgout.cpp $(BASELIB_ODEP)
 baselib_utilscmn.o: $(srcdir)/src/common/utilscmn.cpp $(BASELIB_ODEP)
        $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/utilscmn.cpp
 
+baselib_evtloopmsw.o: $(srcdir)/src/msw/evtloopmsw.cpp $(BASELIB_ODEP)
+       $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/msw/evtloopmsw.cpp
+
 baselib_main.o: $(srcdir)/src/msw/main.cpp $(BASELIB_ODEP)
        $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/msw/main.cpp
 
@@ -22574,6 +23003,69 @@ baselib_volume.o: $(srcdir)/src/msw/volume.cpp $(BASELIB_ODEP)
 baselib_uma.o: $(srcdir)/src/mac/carbon/uma.cpp $(BASELIB_ODEP)
        $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/mac/carbon/uma.cpp
 
+@COND_PLATFORM_UNIX_1@baselib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@baselib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@baselib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@baselib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@baselib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@baselib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@baselib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@baselib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@baselib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@baselib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@baselib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@baselib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@baselib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@baselib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@baselib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@baselib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@baselib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@baselib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@baselib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@baselib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@baselib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
+
 @COND_PLATFORM_UNIX_1@baselib_baseunix.o: $(srcdir)/src/unix/baseunix.cpp $(BASELIB_ODEP)
 @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/baseunix.cpp
 
@@ -22643,6 +23135,45 @@ baselib_uma.o: $(srcdir)/src/mac/carbon/uma.cpp $(BASELIB_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_@baselib_dlunix.o: $(srcdir)/src/unix/dlunix.cpp $(BASELIB_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/dlunix.cpp
 
+@COND_PLATFORM_UNIX_1@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@   $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@      $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
 @COND_PLATFORM_UNIX_1@baselib_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(BASELIB_ODEP)
 @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
 
@@ -23027,6 +23558,9 @@ coredll_msgout.o: $(srcdir)/src/common/msgout.cpp $(COREDLL_ODEP)
 coredll_utilscmn.o: $(srcdir)/src/common/utilscmn.cpp $(COREDLL_ODEP)
        $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/utilscmn.cpp
 
+coredll_evtloopmsw.o: $(srcdir)/src/msw/evtloopmsw.cpp $(COREDLL_ODEP)
+       $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/evtloopmsw.cpp
+
 coredll_mslu.o: $(srcdir)/src/msw/mslu.cpp $(COREDLL_ODEP)
        $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/mslu.cpp
 
@@ -23867,12 +24401,6 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@coredll_evtloop.o: $(srcdir)/src/gtk1/evtloop.cpp $(COREDLL_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@  $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk1/evtloop.cpp
 
-@COND_TOOLKIT_MSW_USE_GUI_1@coredll_evtloop.o: $(srcdir)/src/msw/evtloop.cpp $(COREDLL_ODEP)
-@COND_TOOLKIT_MSW_USE_GUI_1@   $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/evtloop.cpp
-
-@COND_TOOLKIT_WINCE_USE_GUI_1@coredll_evtloop.o: $(srcdir)/src/msw/evtloop.cpp $(COREDLL_ODEP)
-@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/evtloop.cpp
-
 @COND_TOOLKIT_X11_USE_GUI_1@coredll_evtloop.o: $(srcdir)/src/x11/evtloop.cpp $(COREDLL_ODEP)
 @COND_TOOLKIT_X11_USE_GUI_1@   $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/x11/evtloop.cpp
 
@@ -24431,12 +24959,6 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
 @COND_TOOLKIT_DFB_USE_GUI_1@coredll_gsocketiohandler.o: $(srcdir)/src/common/gsocketiohandler.cpp $(COREDLL_ODEP)
 @COND_TOOLKIT_DFB_USE_GUI_1@   $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/gsocketiohandler.cpp
 
-@COND_TOOLKIT_X11_USE_GUI_1@coredll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(COREDLL_ODEP)
-@COND_TOOLKIT_X11_USE_GUI_1@   $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
-
-@COND_TOOLKIT_DFB_USE_GUI_1@coredll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(COREDLL_ODEP)
-@COND_TOOLKIT_DFB_USE_GUI_1@   $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
-
 @COND_TOOLKIT_X11_USE_GUI_1@coredll_nanox.o: $(srcdir)/src/x11/nanox.c $(COREDLL_ODEP)
 @COND_TOOLKIT_X11_USE_GUI_1@   $(CCC) -c -o $@ $(COREDLL_CFLAGS) $(srcdir)/src/x11/nanox.c
 
@@ -25706,9 +26228,6 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1@coredll_effects.o: $(srcdir)/src/common/effects.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/effects.cpp
 
-@COND_USE_GUI_1@coredll_evtloopcmn.o: $(srcdir)/src/common/evtloopcmn.cpp $(COREDLL_ODEP)
-@COND_USE_GUI_1@       $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/evtloopcmn.cpp
-
 @COND_USE_GUI_1@coredll_fddlgcmn.o: $(srcdir)/src/common/fddlgcmn.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/fddlgcmn.cpp
 
@@ -25994,6 +26513,9 @@ corelib_msgout.o: $(srcdir)/src/common/msgout.cpp $(CORELIB_ODEP)
 corelib_utilscmn.o: $(srcdir)/src/common/utilscmn.cpp $(CORELIB_ODEP)
        $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/utilscmn.cpp
 
+corelib_evtloopmsw.o: $(srcdir)/src/msw/evtloopmsw.cpp $(CORELIB_ODEP)
+       $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/evtloopmsw.cpp
+
 corelib_mslu.o: $(srcdir)/src/msw/mslu.cpp $(CORELIB_ODEP)
        $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/mslu.cpp
 
@@ -26834,12 +27356,6 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@corelib_evtloop.o: $(srcdir)/src/gtk1/evtloop.cpp $(CORELIB_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@  $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk1/evtloop.cpp
 
-@COND_TOOLKIT_MSW_USE_GUI_1@corelib_evtloop.o: $(srcdir)/src/msw/evtloop.cpp $(CORELIB_ODEP)
-@COND_TOOLKIT_MSW_USE_GUI_1@   $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/evtloop.cpp
-
-@COND_TOOLKIT_WINCE_USE_GUI_1@corelib_evtloop.o: $(srcdir)/src/msw/evtloop.cpp $(CORELIB_ODEP)
-@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/evtloop.cpp
-
 @COND_TOOLKIT_X11_USE_GUI_1@corelib_evtloop.o: $(srcdir)/src/x11/evtloop.cpp $(CORELIB_ODEP)
 @COND_TOOLKIT_X11_USE_GUI_1@   $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/x11/evtloop.cpp
 
@@ -27398,12 +27914,6 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
 @COND_TOOLKIT_DFB_USE_GUI_1@corelib_gsocketiohandler.o: $(srcdir)/src/common/gsocketiohandler.cpp $(CORELIB_ODEP)
 @COND_TOOLKIT_DFB_USE_GUI_1@   $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/gsocketiohandler.cpp
 
-@COND_TOOLKIT_X11_USE_GUI_1@corelib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(CORELIB_ODEP)
-@COND_TOOLKIT_X11_USE_GUI_1@   $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
-
-@COND_TOOLKIT_DFB_USE_GUI_1@corelib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(CORELIB_ODEP)
-@COND_TOOLKIT_DFB_USE_GUI_1@   $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
-
 @COND_TOOLKIT_X11_USE_GUI_1@corelib_nanox.o: $(srcdir)/src/x11/nanox.c $(CORELIB_ODEP)
 @COND_TOOLKIT_X11_USE_GUI_1@   $(CCC) -c -o $@ $(CORELIB_CFLAGS) $(srcdir)/src/x11/nanox.c
 
@@ -28673,9 +29183,6 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1@corelib_effects.o: $(srcdir)/src/common/effects.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/effects.cpp
 
-@COND_USE_GUI_1@corelib_evtloopcmn.o: $(srcdir)/src/common/evtloopcmn.cpp $(CORELIB_ODEP)
-@COND_USE_GUI_1@       $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/evtloopcmn.cpp
-
 @COND_USE_GUI_1@corelib_fddlgcmn.o: $(srcdir)/src/common/fddlgcmn.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/fddlgcmn.cpp
 
index a0a07da5823eff64efb5e5a8b1d129b67a037e95..cc3406f3791b0b4c719673b399a3ecc29d9031cc 100644 (file)
@@ -54,9 +54,14 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
 <!--                               UNIX                                     -->
 <!-- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
 <set var="BASE_UNIX_SRC" hints="files">
+    src/common/fdiodispatcher.cpp
+    src/common/selectdispatcher.cpp
+    src/unix/appunix.cpp
     src/unix/baseunix.cpp
     src/unix/dir.cpp
     src/unix/dlunix.cpp
+    src/unix/epolldispatcher.cpp
+    src/unix/evtloopunix.cpp
     src/unix/mimetype.cpp
     src/unix/snglinst.cpp
     src/unix/stackwalk.cpp
@@ -68,9 +73,11 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/unix/utilsunx.cpp
 </set>
 <set var="BASE_UNIX_HDR" hints="files">
+    wx/unix/app.h
     wx/unix/apptbase.h
     wx/unix/apptrait.h
     wx/unix/execute.h
+    wx/unix/evtloop.h
     wx/unix/mimetype.h
     wx/unix/pipe.h
     wx/unix/private.h
@@ -101,6 +108,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/msw/utilsexc.cpp
 </set>
 <set var="BASE_AND_GUI_WIN32_SRC" hints="files">
+    src/msw/evtloopmsw.cpp
     src/msw/main.cpp
     src/msw/mslu.cpp
     src/msw/volume.cpp
@@ -199,7 +207,11 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
 <!-- Base files used only by OS X builds (not CarbonLib or Classic)  -->
 <set var="BASE_MACOSX_WXMAC_SRC" hints="files">
     $(BASE_MAC_SRC)
+    src/common/fdiodispatcher.cpp
+    src/common/selectdispatcher.cpp
+    src/unix/appunix.cpp
     src/unix/baseunix.cpp
+    src/unix/evtloopunix.cpp
     src/unix/dlunix.cpp
     src/unix/snglinst.cpp
     src/unix/stdpaths.cpp
@@ -207,8 +219,10 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
 </set>
 <set var="BASE_MACOSX_WXMAC_HDR" hints="files">
     $(BASE_MAC_HDR)
+    wx/unix/app.h
     wx/unix/apptbase.h
     wx/unix/apptrait.h
+    wx/unix/evtloop.h
     wx/unix/stdpaths.h
 </set>
 
@@ -308,6 +322,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/common/dynlib.cpp
     src/common/dynload.cpp
     src/common/encconv.cpp
+    src/common/evtloopcmn.cpp
     src/common/extended.c
     src/common/ffile.cpp
     src/common/file.cpp
@@ -613,7 +628,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/common/dpycmn.cpp
     src/common/dseldlg.cpp
     src/common/effects.cpp
-    src/common/evtloopcmn.cpp
     src/common/fddlgcmn.cpp
     src/common/filepickercmn.cpp
     src/common/fontpickercmn.cpp
@@ -1417,7 +1431,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
 <set var="X11_LOWLEVEL_SRC" hints="files">
     $(XWIN_LOWLEVEL_SRC)
     src/common/gsocketiohandler.cpp
-    src/common/selectdispatcher.cpp
     src/generic/icon.cpp
     src/generic/timer.cpp
     src/x11/app.cpp
@@ -1505,7 +1518,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/msw/dib.cpp
     src/msw/display.cpp
     src/msw/enhmeta.cpp
-    src/msw/evtloop.cpp
     src/msw/font.cpp
     src/msw/fontenum.cpp
     src/msw/fontutil.cpp
@@ -1835,7 +1847,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
 <set var="DFB_LOWLEVEL_SRC" hints="files">
     src/common/fontmgrcmn.cpp
     src/common/gsocketiohandler.cpp
-    src/common/selectdispatcher.cpp
     src/generic/caret.cpp
     src/generic/colour.cpp
     src/generic/icon.cpp
index 355c4ae86e65b119d3328a48a5c65b9e94da9164..d428e262fb4db1cc5e2bf1be60c597aae819ee3a 100644 (file)
@@ -309,6 +309,7 @@ MONODLL_OBJECTS =  \
        $(OBJS)\monodll_dynlib.obj \
        $(OBJS)\monodll_dynload.obj \
        $(OBJS)\monodll_encconv.obj \
+       $(OBJS)\monodll_evtloopcmn.obj \
        $(OBJS)\monodll_extended.obj \
        $(OBJS)\monodll_ffile.obj \
        $(OBJS)\monodll_file.obj \
@@ -387,6 +388,7 @@ MONODLL_OBJECTS =  \
        $(OBJS)\monodll_fs_mem.obj \
        $(OBJS)\monodll_msgout.obj \
        $(OBJS)\monodll_utilscmn.obj \
+       $(OBJS)\monodll_evtloopmsw.obj \
        $(OBJS)\monodll_main.obj \
        $(OBJS)\monodll_mslu.obj \
        $(OBJS)\monodll_volume.obj \
@@ -441,6 +443,7 @@ MONOLIB_OBJECTS =  \
        $(OBJS)\monolib_dynlib.obj \
        $(OBJS)\monolib_dynload.obj \
        $(OBJS)\monolib_encconv.obj \
+       $(OBJS)\monolib_evtloopcmn.obj \
        $(OBJS)\monolib_extended.obj \
        $(OBJS)\monolib_ffile.obj \
        $(OBJS)\monolib_file.obj \
@@ -519,6 +522,7 @@ MONOLIB_OBJECTS =  \
        $(OBJS)\monolib_fs_mem.obj \
        $(OBJS)\monolib_msgout.obj \
        $(OBJS)\monolib_utilscmn.obj \
+       $(OBJS)\monolib_evtloopmsw.obj \
        $(OBJS)\monolib_main.obj \
        $(OBJS)\monolib_mslu.obj \
        $(OBJS)\monolib_volume.obj \
@@ -571,6 +575,7 @@ BASEDLL_OBJECTS =  \
        $(OBJS)\basedll_dynlib.obj \
        $(OBJS)\basedll_dynload.obj \
        $(OBJS)\basedll_encconv.obj \
+       $(OBJS)\basedll_evtloopcmn.obj \
        $(OBJS)\basedll_extended.obj \
        $(OBJS)\basedll_ffile.obj \
        $(OBJS)\basedll_file.obj \
@@ -649,6 +654,7 @@ BASEDLL_OBJECTS =  \
        $(OBJS)\basedll_fs_mem.obj \
        $(OBJS)\basedll_msgout.obj \
        $(OBJS)\basedll_utilscmn.obj \
+       $(OBJS)\basedll_evtloopmsw.obj \
        $(OBJS)\basedll_main.obj \
        $(OBJS)\basedll_mslu.obj \
        $(OBJS)\basedll_volume.obj
@@ -685,6 +691,7 @@ BASELIB_OBJECTS =  \
        $(OBJS)\baselib_dynlib.obj \
        $(OBJS)\baselib_dynload.obj \
        $(OBJS)\baselib_encconv.obj \
+       $(OBJS)\baselib_evtloopcmn.obj \
        $(OBJS)\baselib_extended.obj \
        $(OBJS)\baselib_ffile.obj \
        $(OBJS)\baselib_file.obj \
@@ -763,6 +770,7 @@ BASELIB_OBJECTS =  \
        $(OBJS)\baselib_fs_mem.obj \
        $(OBJS)\baselib_msgout.obj \
        $(OBJS)\baselib_utilscmn.obj \
+       $(OBJS)\baselib_evtloopmsw.obj \
        $(OBJS)\baselib_main.obj \
        $(OBJS)\baselib_mslu.obj \
        $(OBJS)\baselib_volume.obj
@@ -824,6 +832,7 @@ COREDLL_OBJECTS =  \
        $(OBJS)\coredll_fs_mem.obj \
        $(OBJS)\coredll_msgout.obj \
        $(OBJS)\coredll_utilscmn.obj \
+       $(OBJS)\coredll_evtloopmsw.obj \
        $(OBJS)\coredll_main.obj \
        $(OBJS)\coredll_mslu.obj \
        $(OBJS)\coredll_volume.obj \
@@ -842,6 +851,7 @@ CORELIB_OBJECTS =  \
        $(OBJS)\corelib_fs_mem.obj \
        $(OBJS)\corelib_msgout.obj \
        $(OBJS)\corelib_utilscmn.obj \
+       $(OBJS)\corelib_evtloopmsw.obj \
        $(OBJS)\corelib_main.obj \
        $(OBJS)\corelib_mslu.obj \
        $(OBJS)\corelib_volume.obj \
@@ -1497,7 +1507,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_dib.obj \
        $(OBJS)\monodll_display.obj \
        $(OBJS)\monodll_enhmeta.obj \
-       $(OBJS)\monodll_evtloop.obj \
        $(OBJS)\monodll_font.obj \
        $(OBJS)\monodll_fontenum.obj \
        $(OBJS)\monodll_fontutil.obj \
@@ -1611,7 +1620,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_dpycmn.obj \
        $(OBJS)\monodll_dseldlg.obj \
        $(OBJS)\monodll_effects.obj \
-       $(OBJS)\monodll_evtloopcmn.obj \
        $(OBJS)\monodll_fddlgcmn.obj \
        $(OBJS)\monodll_filepickercmn.obj \
        $(OBJS)\monodll_fontpickercmn.obj \
@@ -1723,7 +1731,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_dib.obj \
        $(OBJS)\monodll_display.obj \
        $(OBJS)\monodll_enhmeta.obj \
-       $(OBJS)\monodll_evtloop.obj \
        $(OBJS)\monodll_font.obj \
        $(OBJS)\monodll_fontenum.obj \
        $(OBJS)\monodll_fontutil.obj \
@@ -1840,7 +1847,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_dpycmn.obj \
        $(OBJS)\monodll_dseldlg.obj \
        $(OBJS)\monodll_effects.obj \
-       $(OBJS)\monodll_evtloopcmn.obj \
        $(OBJS)\monodll_fddlgcmn.obj \
        $(OBJS)\monodll_filepickercmn.obj \
        $(OBJS)\monodll_fontpickercmn.obj \
@@ -2131,7 +2137,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_dib.obj \
        $(OBJS)\monolib_display.obj \
        $(OBJS)\monolib_enhmeta.obj \
-       $(OBJS)\monolib_evtloop.obj \
        $(OBJS)\monolib_font.obj \
        $(OBJS)\monolib_fontenum.obj \
        $(OBJS)\monolib_fontutil.obj \
@@ -2245,7 +2250,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_dpycmn.obj \
        $(OBJS)\monolib_dseldlg.obj \
        $(OBJS)\monolib_effects.obj \
-       $(OBJS)\monolib_evtloopcmn.obj \
        $(OBJS)\monolib_fddlgcmn.obj \
        $(OBJS)\monolib_filepickercmn.obj \
        $(OBJS)\monolib_fontpickercmn.obj \
@@ -2357,7 +2361,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_dib.obj \
        $(OBJS)\monolib_display.obj \
        $(OBJS)\monolib_enhmeta.obj \
-       $(OBJS)\monolib_evtloop.obj \
        $(OBJS)\monolib_font.obj \
        $(OBJS)\monolib_fontenum.obj \
        $(OBJS)\monolib_fontutil.obj \
@@ -2474,7 +2477,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_dpycmn.obj \
        $(OBJS)\monolib_dseldlg.obj \
        $(OBJS)\monolib_effects.obj \
-       $(OBJS)\monolib_evtloopcmn.obj \
        $(OBJS)\monolib_fddlgcmn.obj \
        $(OBJS)\monolib_filepickercmn.obj \
        $(OBJS)\monolib_fontpickercmn.obj \
@@ -2679,7 +2681,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_dib.obj \
        $(OBJS)\coredll_display.obj \
        $(OBJS)\coredll_enhmeta.obj \
-       $(OBJS)\coredll_evtloop.obj \
        $(OBJS)\coredll_font.obj \
        $(OBJS)\coredll_fontenum.obj \
        $(OBJS)\coredll_fontutil.obj \
@@ -2793,7 +2794,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_dpycmn.obj \
        $(OBJS)\coredll_dseldlg.obj \
        $(OBJS)\coredll_effects.obj \
-       $(OBJS)\coredll_evtloopcmn.obj \
        $(OBJS)\coredll_fddlgcmn.obj \
        $(OBJS)\coredll_filepickercmn.obj \
        $(OBJS)\coredll_fontpickercmn.obj \
@@ -2905,7 +2905,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_dib.obj \
        $(OBJS)\coredll_display.obj \
        $(OBJS)\coredll_enhmeta.obj \
-       $(OBJS)\coredll_evtloop.obj \
        $(OBJS)\coredll_font.obj \
        $(OBJS)\coredll_fontenum.obj \
        $(OBJS)\coredll_fontutil.obj \
@@ -3022,7 +3021,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_dpycmn.obj \
        $(OBJS)\coredll_dseldlg.obj \
        $(OBJS)\coredll_effects.obj \
-       $(OBJS)\coredll_evtloopcmn.obj \
        $(OBJS)\coredll_fddlgcmn.obj \
        $(OBJS)\coredll_filepickercmn.obj \
        $(OBJS)\coredll_fontpickercmn.obj \
@@ -3138,7 +3136,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_dib.obj \
        $(OBJS)\corelib_display.obj \
        $(OBJS)\corelib_enhmeta.obj \
-       $(OBJS)\corelib_evtloop.obj \
        $(OBJS)\corelib_font.obj \
        $(OBJS)\corelib_fontenum.obj \
        $(OBJS)\corelib_fontutil.obj \
@@ -3252,7 +3249,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_dpycmn.obj \
        $(OBJS)\corelib_dseldlg.obj \
        $(OBJS)\corelib_effects.obj \
-       $(OBJS)\corelib_evtloopcmn.obj \
        $(OBJS)\corelib_fddlgcmn.obj \
        $(OBJS)\corelib_filepickercmn.obj \
        $(OBJS)\corelib_fontpickercmn.obj \
@@ -3364,7 +3360,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_dib.obj \
        $(OBJS)\corelib_display.obj \
        $(OBJS)\corelib_enhmeta.obj \
-       $(OBJS)\corelib_evtloop.obj \
        $(OBJS)\corelib_font.obj \
        $(OBJS)\corelib_fontenum.obj \
        $(OBJS)\corelib_fontutil.obj \
@@ -3481,7 +3476,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_dpycmn.obj \
        $(OBJS)\corelib_dseldlg.obj \
        $(OBJS)\corelib_effects.obj \
-       $(OBJS)\corelib_evtloopcmn.obj \
        $(OBJS)\corelib_fddlgcmn.obj \
        $(OBJS)\corelib_filepickercmn.obj \
        $(OBJS)\corelib_fontpickercmn.obj \
@@ -5226,6 +5220,9 @@ $(OBJS)\monodll_dynload.obj: ..\..\src\common\dynload.cpp
 $(OBJS)\monodll_encconv.obj: ..\..\src\common\encconv.cpp
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
 
+$(OBJS)\monodll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
+       $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
+
 $(OBJS)\monodll_extended.obj: ..\..\src\common\extended.c
        $(CC) -q -c -P- -o$@ $(MONODLL_CFLAGS) $**
 
@@ -5460,6 +5457,9 @@ $(OBJS)\monodll_msgout.obj: ..\..\src\common\msgout.cpp
 $(OBJS)\monodll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
 
+$(OBJS)\monodll_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
+
 $(OBJS)\monodll_main.obj: ..\..\src\msw\main.cpp
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
 
@@ -6058,11 +6058,6 @@ $(OBJS)\monodll_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monodll_evtloop.obj: ..\..\src\msw\evtloop.cpp
-       $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_font.obj: ..\..\src\msw\font.cpp
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
@@ -6643,11 +6638,6 @@ $(OBJS)\monodll_effects.obj: ..\..\src\common\effects.cpp
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monodll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
-       $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
@@ -7292,6 +7282,9 @@ $(OBJS)\monolib_dynload.obj: ..\..\src\common\dynload.cpp
 $(OBJS)\monolib_encconv.obj: ..\..\src\common\encconv.cpp
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
 
+$(OBJS)\monolib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
+       $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
+
 $(OBJS)\monolib_extended.obj: ..\..\src\common\extended.c
        $(CC) -q -c -P- -o$@ $(MONOLIB_CFLAGS) $**
 
@@ -7526,6 +7519,9 @@ $(OBJS)\monolib_msgout.obj: ..\..\src\common\msgout.cpp
 $(OBJS)\monolib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
 
+$(OBJS)\monolib_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
+
 $(OBJS)\monolib_main.obj: ..\..\src\msw\main.cpp
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
 
@@ -8124,11 +8120,6 @@ $(OBJS)\monolib_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monolib_evtloop.obj: ..\..\src\msw\evtloop.cpp
-       $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_font.obj: ..\..\src\msw\font.cpp
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
@@ -8709,11 +8700,6 @@ $(OBJS)\monolib_effects.obj: ..\..\src\common\effects.cpp
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monolib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
-       $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
@@ -9358,6 +9344,9 @@ $(OBJS)\basedll_dynload.obj: ..\..\src\common\dynload.cpp
 $(OBJS)\basedll_encconv.obj: ..\..\src\common\encconv.cpp
        $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
 
+$(OBJS)\basedll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
+       $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
+
 $(OBJS)\basedll_extended.obj: ..\..\src\common\extended.c
        $(CC) -q -c -P- -o$@ $(BASEDLL_CFLAGS) $**
 
@@ -9592,6 +9581,9 @@ $(OBJS)\basedll_msgout.obj: ..\..\src\common\msgout.cpp
 $(OBJS)\basedll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
        $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
 
+$(OBJS)\basedll_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
+
 $(OBJS)\basedll_main.obj: ..\..\src\msw\main.cpp
        $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
 
@@ -9652,6 +9644,9 @@ $(OBJS)\baselib_dynload.obj: ..\..\src\common\dynload.cpp
 $(OBJS)\baselib_encconv.obj: ..\..\src\common\encconv.cpp
        $(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
 
+$(OBJS)\baselib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
+       $(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
+
 $(OBJS)\baselib_extended.obj: ..\..\src\common\extended.c
        $(CC) -q -c -P- -o$@ $(BASELIB_CFLAGS) $**
 
@@ -9886,6 +9881,9 @@ $(OBJS)\baselib_msgout.obj: ..\..\src\common\msgout.cpp
 $(OBJS)\baselib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
        $(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
 
+$(OBJS)\baselib_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
+
 $(OBJS)\baselib_main.obj: ..\..\src\msw\main.cpp
        $(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
 
@@ -9994,6 +9992,9 @@ $(OBJS)\coredll_msgout.obj: ..\..\src\common\msgout.cpp
 $(OBJS)\coredll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
        $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
 
+$(OBJS)\coredll_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
+
 $(OBJS)\coredll_main.obj: ..\..\src\msw\main.cpp
        $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
 
@@ -10229,11 +10230,6 @@ $(OBJS)\coredll_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
        $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\coredll_evtloop.obj: ..\..\src\msw\evtloop.cpp
-       $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\coredll_font.obj: ..\..\src\msw\font.cpp
        $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
@@ -10814,11 +10810,6 @@ $(OBJS)\coredll_effects.obj: ..\..\src\common\effects.cpp
        $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\coredll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
-       $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\coredll_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
        $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
@@ -11289,6 +11280,9 @@ $(OBJS)\corelib_msgout.obj: ..\..\src\common\msgout.cpp
 $(OBJS)\corelib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
        $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
 
+$(OBJS)\corelib_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
+
 $(OBJS)\corelib_main.obj: ..\..\src\msw\main.cpp
        $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
 
@@ -11524,11 +11518,6 @@ $(OBJS)\corelib_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
        $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\corelib_evtloop.obj: ..\..\src\msw\evtloop.cpp
-       $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\corelib_font.obj: ..\..\src\msw\font.cpp
        $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
@@ -12109,11 +12098,6 @@ $(OBJS)\corelib_effects.obj: ..\..\src\common\effects.cpp
        $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\corelib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
-       $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\corelib_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
        $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
index b84daa55550c1b00ba6710d9c9357b91ac81c4d7..53cd1e3faad5ab852930c815f2f26929e41cbf85 100644 (file)
@@ -293,6 +293,7 @@ MONODLL_OBJECTS =  \
        $(OBJS)\monodll_dynlib.o \
        $(OBJS)\monodll_dynload.o \
        $(OBJS)\monodll_encconv.o \
+       $(OBJS)\monodll_evtloopcmn.o \
        $(OBJS)\monodll_extended.o \
        $(OBJS)\monodll_ffile.o \
        $(OBJS)\monodll_file.o \
@@ -371,6 +372,7 @@ MONODLL_OBJECTS =  \
        $(OBJS)\monodll_fs_mem.o \
        $(OBJS)\monodll_msgout.o \
        $(OBJS)\monodll_utilscmn.o \
+       $(OBJS)\monodll_evtloopmsw.o \
        $(OBJS)\monodll_main.o \
        $(OBJS)\monodll_mslu.o \
        $(OBJS)\monodll_volume.o \
@@ -427,6 +429,7 @@ MONOLIB_OBJECTS =  \
        $(OBJS)\monolib_dynlib.o \
        $(OBJS)\monolib_dynload.o \
        $(OBJS)\monolib_encconv.o \
+       $(OBJS)\monolib_evtloopcmn.o \
        $(OBJS)\monolib_extended.o \
        $(OBJS)\monolib_ffile.o \
        $(OBJS)\monolib_file.o \
@@ -505,6 +508,7 @@ MONOLIB_OBJECTS =  \
        $(OBJS)\monolib_fs_mem.o \
        $(OBJS)\monolib_msgout.o \
        $(OBJS)\monolib_utilscmn.o \
+       $(OBJS)\monolib_evtloopmsw.o \
        $(OBJS)\monolib_main.o \
        $(OBJS)\monolib_mslu.o \
        $(OBJS)\monolib_volume.o \
@@ -558,6 +562,7 @@ BASEDLL_OBJECTS =  \
        $(OBJS)\basedll_dynlib.o \
        $(OBJS)\basedll_dynload.o \
        $(OBJS)\basedll_encconv.o \
+       $(OBJS)\basedll_evtloopcmn.o \
        $(OBJS)\basedll_extended.o \
        $(OBJS)\basedll_ffile.o \
        $(OBJS)\basedll_file.o \
@@ -636,6 +641,7 @@ BASEDLL_OBJECTS =  \
        $(OBJS)\basedll_fs_mem.o \
        $(OBJS)\basedll_msgout.o \
        $(OBJS)\basedll_utilscmn.o \
+       $(OBJS)\basedll_evtloopmsw.o \
        $(OBJS)\basedll_main.o \
        $(OBJS)\basedll_mslu.o \
        $(OBJS)\basedll_volume.o
@@ -672,6 +678,7 @@ BASELIB_OBJECTS =  \
        $(OBJS)\baselib_dynlib.o \
        $(OBJS)\baselib_dynload.o \
        $(OBJS)\baselib_encconv.o \
+       $(OBJS)\baselib_evtloopcmn.o \
        $(OBJS)\baselib_extended.o \
        $(OBJS)\baselib_ffile.o \
        $(OBJS)\baselib_file.o \
@@ -750,6 +757,7 @@ BASELIB_OBJECTS =  \
        $(OBJS)\baselib_fs_mem.o \
        $(OBJS)\baselib_msgout.o \
        $(OBJS)\baselib_utilscmn.o \
+       $(OBJS)\baselib_evtloopmsw.o \
        $(OBJS)\baselib_main.o \
        $(OBJS)\baselib_mslu.o \
        $(OBJS)\baselib_volume.o
@@ -814,6 +822,7 @@ COREDLL_OBJECTS =  \
        $(OBJS)\coredll_fs_mem.o \
        $(OBJS)\coredll_msgout.o \
        $(OBJS)\coredll_utilscmn.o \
+       $(OBJS)\coredll_evtloopmsw.o \
        $(OBJS)\coredll_main.o \
        $(OBJS)\coredll_mslu.o \
        $(OBJS)\coredll_volume.o \
@@ -832,6 +841,7 @@ CORELIB_OBJECTS =  \
        $(OBJS)\corelib_fs_mem.o \
        $(OBJS)\corelib_msgout.o \
        $(OBJS)\corelib_utilscmn.o \
+       $(OBJS)\corelib_evtloopmsw.o \
        $(OBJS)\corelib_main.o \
        $(OBJS)\corelib_mslu.o \
        $(OBJS)\corelib_volume.o \
@@ -1507,7 +1517,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_dib.o \
        $(OBJS)\monodll_display.o \
        $(OBJS)\monodll_enhmeta.o \
-       $(OBJS)\monodll_evtloop.o \
        $(OBJS)\monodll_font.o \
        $(OBJS)\monodll_fontenum.o \
        $(OBJS)\monodll_fontutil.o \
@@ -1621,7 +1630,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_dpycmn.o \
        $(OBJS)\monodll_dseldlg.o \
        $(OBJS)\monodll_effects.o \
-       $(OBJS)\monodll_evtloopcmn.o \
        $(OBJS)\monodll_fddlgcmn.o \
        $(OBJS)\monodll_filepickercmn.o \
        $(OBJS)\monodll_fontpickercmn.o \
@@ -1735,7 +1743,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_dib.o \
        $(OBJS)\monodll_display.o \
        $(OBJS)\monodll_enhmeta.o \
-       $(OBJS)\monodll_evtloop.o \
        $(OBJS)\monodll_font.o \
        $(OBJS)\monodll_fontenum.o \
        $(OBJS)\monodll_fontutil.o \
@@ -1852,7 +1859,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_dpycmn.o \
        $(OBJS)\monodll_dseldlg.o \
        $(OBJS)\monodll_effects.o \
-       $(OBJS)\monodll_evtloopcmn.o \
        $(OBJS)\monodll_fddlgcmn.o \
        $(OBJS)\monodll_filepickercmn.o \
        $(OBJS)\monodll_fontpickercmn.o \
@@ -2147,7 +2153,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_dib.o \
        $(OBJS)\monolib_display.o \
        $(OBJS)\monolib_enhmeta.o \
-       $(OBJS)\monolib_evtloop.o \
        $(OBJS)\monolib_font.o \
        $(OBJS)\monolib_fontenum.o \
        $(OBJS)\monolib_fontutil.o \
@@ -2261,7 +2266,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_dpycmn.o \
        $(OBJS)\monolib_dseldlg.o \
        $(OBJS)\monolib_effects.o \
-       $(OBJS)\monolib_evtloopcmn.o \
        $(OBJS)\monolib_fddlgcmn.o \
        $(OBJS)\monolib_filepickercmn.o \
        $(OBJS)\monolib_fontpickercmn.o \
@@ -2375,7 +2379,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_dib.o \
        $(OBJS)\monolib_display.o \
        $(OBJS)\monolib_enhmeta.o \
-       $(OBJS)\monolib_evtloop.o \
        $(OBJS)\monolib_font.o \
        $(OBJS)\monolib_fontenum.o \
        $(OBJS)\monolib_fontutil.o \
@@ -2492,7 +2495,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_dpycmn.o \
        $(OBJS)\monolib_dseldlg.o \
        $(OBJS)\monolib_effects.o \
-       $(OBJS)\monolib_evtloopcmn.o \
        $(OBJS)\monolib_fddlgcmn.o \
        $(OBJS)\monolib_filepickercmn.o \
        $(OBJS)\monolib_fontpickercmn.o \
@@ -2711,7 +2713,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_dib.o \
        $(OBJS)\coredll_display.o \
        $(OBJS)\coredll_enhmeta.o \
-       $(OBJS)\coredll_evtloop.o \
        $(OBJS)\coredll_font.o \
        $(OBJS)\coredll_fontenum.o \
        $(OBJS)\coredll_fontutil.o \
@@ -2825,7 +2826,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_dpycmn.o \
        $(OBJS)\coredll_dseldlg.o \
        $(OBJS)\coredll_effects.o \
-       $(OBJS)\coredll_evtloopcmn.o \
        $(OBJS)\coredll_fddlgcmn.o \
        $(OBJS)\coredll_filepickercmn.o \
        $(OBJS)\coredll_fontpickercmn.o \
@@ -2939,7 +2939,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_dib.o \
        $(OBJS)\coredll_display.o \
        $(OBJS)\coredll_enhmeta.o \
-       $(OBJS)\coredll_evtloop.o \
        $(OBJS)\coredll_font.o \
        $(OBJS)\coredll_fontenum.o \
        $(OBJS)\coredll_fontutil.o \
@@ -3056,7 +3055,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_dpycmn.o \
        $(OBJS)\coredll_dseldlg.o \
        $(OBJS)\coredll_effects.o \
-       $(OBJS)\coredll_evtloopcmn.o \
        $(OBJS)\coredll_fddlgcmn.o \
        $(OBJS)\coredll_filepickercmn.o \
        $(OBJS)\coredll_fontpickercmn.o \
@@ -3178,7 +3176,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_dib.o \
        $(OBJS)\corelib_display.o \
        $(OBJS)\corelib_enhmeta.o \
-       $(OBJS)\corelib_evtloop.o \
        $(OBJS)\corelib_font.o \
        $(OBJS)\corelib_fontenum.o \
        $(OBJS)\corelib_fontutil.o \
@@ -3292,7 +3289,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_dpycmn.o \
        $(OBJS)\corelib_dseldlg.o \
        $(OBJS)\corelib_effects.o \
-       $(OBJS)\corelib_evtloopcmn.o \
        $(OBJS)\corelib_fddlgcmn.o \
        $(OBJS)\corelib_filepickercmn.o \
        $(OBJS)\corelib_fontpickercmn.o \
@@ -3406,7 +3402,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_dib.o \
        $(OBJS)\corelib_display.o \
        $(OBJS)\corelib_enhmeta.o \
-       $(OBJS)\corelib_evtloop.o \
        $(OBJS)\corelib_font.o \
        $(OBJS)\corelib_fontenum.o \
        $(OBJS)\corelib_fontutil.o \
@@ -3523,7 +3518,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_dpycmn.o \
        $(OBJS)\corelib_dseldlg.o \
        $(OBJS)\corelib_effects.o \
-       $(OBJS)\corelib_evtloopcmn.o \
        $(OBJS)\corelib_fddlgcmn.o \
        $(OBJS)\corelib_filepickercmn.o \
        $(OBJS)\corelib_fontpickercmn.o \
@@ -5387,6 +5381,9 @@ $(OBJS)\monodll_dynload.o: ../../src/common/dynload.cpp
 $(OBJS)\monodll_encconv.o: ../../src/common/encconv.cpp
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\monodll_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
+       $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\monodll_extended.o: ../../src/common/extended.c
        $(CC) -c -o $@ $(MONODLL_CFLAGS) $(CPPDEPS) $<
 
@@ -5621,6 +5618,9 @@ $(OBJS)\monodll_msgout.o: ../../src/common/msgout.cpp
 $(OBJS)\monodll_utilscmn.o: ../../src/common/utilscmn.cpp
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\monodll_evtloopmsw.o: ../../src/msw/evtloopmsw.cpp
+       $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\monodll_main.o: ../../src/msw/main.cpp
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 
@@ -6219,11 +6219,6 @@ $(OBJS)\monodll_enhmeta.o: ../../src/msw/enhmeta.cpp
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 endif
 
-ifeq ($(USE_GUI),1)
-$(OBJS)\monodll_evtloop.o: ../../src/msw/evtloop.cpp
-       $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
-endif
-
 ifeq ($(USE_GUI),1)
 $(OBJS)\monodll_font.o: ../../src/msw/font.cpp
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -6904,11 +6899,6 @@ $(OBJS)\monodll_effects.o: ../../src/common/effects.cpp
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 endif
 
-ifeq ($(USE_GUI),1)
-$(OBJS)\monodll_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
-       $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
-endif
-
 ifeq ($(USE_GUI),1)
 $(OBJS)\monodll_fddlgcmn.o: ../../src/common/fddlgcmn.cpp
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -7553,6 +7543,9 @@ $(OBJS)\monolib_dynload.o: ../../src/common/dynload.cpp
 $(OBJS)\monolib_encconv.o: ../../src/common/encconv.cpp
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\monolib_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
+       $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\monolib_extended.o: ../../src/common/extended.c
        $(CC) -c -o $@ $(MONOLIB_CFLAGS) $(CPPDEPS) $<
 
@@ -7787,6 +7780,9 @@ $(OBJS)\monolib_msgout.o: ../../src/common/msgout.cpp
 $(OBJS)\monolib_utilscmn.o: ../../src/common/utilscmn.cpp
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\monolib_evtloopmsw.o: ../../src/msw/evtloopmsw.cpp
+       $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\monolib_main.o: ../../src/msw/main.cpp
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 
@@ -8385,11 +8381,6 @@ $(OBJS)\monolib_enhmeta.o: ../../src/msw/enhmeta.cpp
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 endif
 
-ifeq ($(USE_GUI),1)
-$(OBJS)\monolib_evtloop.o: ../../src/msw/evtloop.cpp
-       $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
-endif
-
 ifeq ($(USE_GUI),1)
 $(OBJS)\monolib_font.o: ../../src/msw/font.cpp
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -9070,11 +9061,6 @@ $(OBJS)\monolib_effects.o: ../../src/common/effects.cpp
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 endif
 
-ifeq ($(USE_GUI),1)
-$(OBJS)\monolib_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
-       $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
-endif
-
 ifeq ($(USE_GUI),1)
 $(OBJS)\monolib_fddlgcmn.o: ../../src/common/fddlgcmn.cpp
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -9719,6 +9705,9 @@ $(OBJS)\basedll_dynload.o: ../../src/common/dynload.cpp
 $(OBJS)\basedll_encconv.o: ../../src/common/encconv.cpp
        $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\basedll_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
+       $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\basedll_extended.o: ../../src/common/extended.c
        $(CC) -c -o $@ $(BASEDLL_CFLAGS) $(CPPDEPS) $<
 
@@ -9953,6 +9942,9 @@ $(OBJS)\basedll_msgout.o: ../../src/common/msgout.cpp
 $(OBJS)\basedll_utilscmn.o: ../../src/common/utilscmn.cpp
        $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\basedll_evtloopmsw.o: ../../src/msw/evtloopmsw.cpp
+       $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\basedll_main.o: ../../src/msw/main.cpp
        $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
 
@@ -10013,6 +10005,9 @@ $(OBJS)\baselib_dynload.o: ../../src/common/dynload.cpp
 $(OBJS)\baselib_encconv.o: ../../src/common/encconv.cpp
        $(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\baselib_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
+       $(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\baselib_extended.o: ../../src/common/extended.c
        $(CC) -c -o $@ $(BASELIB_CFLAGS) $(CPPDEPS) $<
 
@@ -10247,6 +10242,9 @@ $(OBJS)\baselib_msgout.o: ../../src/common/msgout.cpp
 $(OBJS)\baselib_utilscmn.o: ../../src/common/utilscmn.cpp
        $(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\baselib_evtloopmsw.o: ../../src/msw/evtloopmsw.cpp
+       $(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\baselib_main.o: ../../src/msw/main.cpp
        $(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
 
@@ -10355,6 +10353,9 @@ $(OBJS)\coredll_msgout.o: ../../src/common/msgout.cpp
 $(OBJS)\coredll_utilscmn.o: ../../src/common/utilscmn.cpp
        $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\coredll_evtloopmsw.o: ../../src/msw/evtloopmsw.cpp
+       $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\coredll_main.o: ../../src/msw/main.cpp
        $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
 
@@ -10590,11 +10591,6 @@ $(OBJS)\coredll_enhmeta.o: ../../src/msw/enhmeta.cpp
        $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
 endif
 
-ifeq ($(USE_GUI),1)
-$(OBJS)\coredll_evtloop.o: ../../src/msw/evtloop.cpp
-       $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
-endif
-
 ifeq ($(USE_GUI),1)
 $(OBJS)\coredll_font.o: ../../src/msw/font.cpp
        $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -11275,11 +11271,6 @@ $(OBJS)\coredll_effects.o: ../../src/common/effects.cpp
        $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
 endif
 
-ifeq ($(USE_GUI),1)
-$(OBJS)\coredll_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
-       $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
-endif
-
 ifeq ($(USE_GUI),1)
 $(OBJS)\coredll_fddlgcmn.o: ../../src/common/fddlgcmn.cpp
        $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -11750,6 +11741,9 @@ $(OBJS)\corelib_msgout.o: ../../src/common/msgout.cpp
 $(OBJS)\corelib_utilscmn.o: ../../src/common/utilscmn.cpp
        $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\corelib_evtloopmsw.o: ../../src/msw/evtloopmsw.cpp
+       $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\corelib_main.o: ../../src/msw/main.cpp
        $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
 
@@ -11985,11 +11979,6 @@ $(OBJS)\corelib_enhmeta.o: ../../src/msw/enhmeta.cpp
        $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
 endif
 
-ifeq ($(USE_GUI),1)
-$(OBJS)\corelib_evtloop.o: ../../src/msw/evtloop.cpp
-       $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
-endif
-
 ifeq ($(USE_GUI),1)
 $(OBJS)\corelib_font.o: ../../src/msw/font.cpp
        $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
@@ -12670,11 +12659,6 @@ $(OBJS)\corelib_effects.o: ../../src/common/effects.cpp
        $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
 endif
 
-ifeq ($(USE_GUI),1)
-$(OBJS)\corelib_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
-       $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
-endif
-
 ifeq ($(USE_GUI),1)
 $(OBJS)\corelib_fddlgcmn.o: ../../src/common/fddlgcmn.cpp
        $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
index 59b1e1aae9d2fcea2ea1a4ddb438e7e2a0c897d0..fdfaead8c409deff9a08fb4f99fc0ce0743cc1c2 100644 (file)
@@ -308,6 +308,7 @@ MONODLL_OBJECTS =  \
        $(OBJS)\monodll_dynlib.obj \
        $(OBJS)\monodll_dynload.obj \
        $(OBJS)\monodll_encconv.obj \
+       $(OBJS)\monodll_evtloopcmn.obj \
        $(OBJS)\monodll_extended.obj \
        $(OBJS)\monodll_ffile.obj \
        $(OBJS)\monodll_file.obj \
@@ -386,6 +387,7 @@ MONODLL_OBJECTS =  \
        $(OBJS)\monodll_fs_mem.obj \
        $(OBJS)\monodll_msgout.obj \
        $(OBJS)\monodll_utilscmn.obj \
+       $(OBJS)\monodll_evtloopmsw.obj \
        $(OBJS)\monodll_main.obj \
        $(OBJS)\monodll_mslu.obj \
        $(OBJS)\monodll_volume.obj \
@@ -446,6 +448,7 @@ MONOLIB_OBJECTS =  \
        $(OBJS)\monolib_dynlib.obj \
        $(OBJS)\monolib_dynload.obj \
        $(OBJS)\monolib_encconv.obj \
+       $(OBJS)\monolib_evtloopcmn.obj \
        $(OBJS)\monolib_extended.obj \
        $(OBJS)\monolib_ffile.obj \
        $(OBJS)\monolib_file.obj \
@@ -524,6 +527,7 @@ MONOLIB_OBJECTS =  \
        $(OBJS)\monolib_fs_mem.obj \
        $(OBJS)\monolib_msgout.obj \
        $(OBJS)\monolib_utilscmn.obj \
+       $(OBJS)\monolib_evtloopmsw.obj \
        $(OBJS)\monolib_main.obj \
        $(OBJS)\monolib_mslu.obj \
        $(OBJS)\monolib_volume.obj \
@@ -582,6 +586,7 @@ BASEDLL_OBJECTS =  \
        $(OBJS)\basedll_dynlib.obj \
        $(OBJS)\basedll_dynload.obj \
        $(OBJS)\basedll_encconv.obj \
+       $(OBJS)\basedll_evtloopcmn.obj \
        $(OBJS)\basedll_extended.obj \
        $(OBJS)\basedll_ffile.obj \
        $(OBJS)\basedll_file.obj \
@@ -660,6 +665,7 @@ BASEDLL_OBJECTS =  \
        $(OBJS)\basedll_fs_mem.obj \
        $(OBJS)\basedll_msgout.obj \
        $(OBJS)\basedll_utilscmn.obj \
+       $(OBJS)\basedll_evtloopmsw.obj \
        $(OBJS)\basedll_main.obj \
        $(OBJS)\basedll_mslu.obj \
        $(OBJS)\basedll_volume.obj
@@ -702,6 +708,7 @@ BASELIB_OBJECTS =  \
        $(OBJS)\baselib_dynlib.obj \
        $(OBJS)\baselib_dynload.obj \
        $(OBJS)\baselib_encconv.obj \
+       $(OBJS)\baselib_evtloopcmn.obj \
        $(OBJS)\baselib_extended.obj \
        $(OBJS)\baselib_ffile.obj \
        $(OBJS)\baselib_file.obj \
@@ -780,6 +787,7 @@ BASELIB_OBJECTS =  \
        $(OBJS)\baselib_fs_mem.obj \
        $(OBJS)\baselib_msgout.obj \
        $(OBJS)\baselib_utilscmn.obj \
+       $(OBJS)\baselib_evtloopmsw.obj \
        $(OBJS)\baselib_main.obj \
        $(OBJS)\baselib_mslu.obj \
        $(OBJS)\baselib_volume.obj
@@ -852,6 +860,7 @@ COREDLL_OBJECTS =  \
        $(OBJS)\coredll_fs_mem.obj \
        $(OBJS)\coredll_msgout.obj \
        $(OBJS)\coredll_utilscmn.obj \
+       $(OBJS)\coredll_evtloopmsw.obj \
        $(OBJS)\coredll_main.obj \
        $(OBJS)\coredll_mslu.obj \
        $(OBJS)\coredll_volume.obj \
@@ -873,6 +882,7 @@ CORELIB_OBJECTS =  \
        $(OBJS)\corelib_fs_mem.obj \
        $(OBJS)\corelib_msgout.obj \
        $(OBJS)\corelib_utilscmn.obj \
+       $(OBJS)\corelib_evtloopmsw.obj \
        $(OBJS)\corelib_main.obj \
        $(OBJS)\corelib_mslu.obj \
        $(OBJS)\corelib_volume.obj \
@@ -1675,7 +1685,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_dib.obj \
        $(OBJS)\monodll_display.obj \
        $(OBJS)\monodll_enhmeta.obj \
-       $(OBJS)\monodll_evtloop.obj \
        $(OBJS)\monodll_font.obj \
        $(OBJS)\monodll_fontenum.obj \
        $(OBJS)\monodll_fontutil.obj \
@@ -1789,7 +1798,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_dpycmn.obj \
        $(OBJS)\monodll_dseldlg.obj \
        $(OBJS)\monodll_effects.obj \
-       $(OBJS)\monodll_evtloopcmn.obj \
        $(OBJS)\monodll_fddlgcmn.obj \
        $(OBJS)\monodll_filepickercmn.obj \
        $(OBJS)\monodll_fontpickercmn.obj \
@@ -1901,7 +1909,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_dib.obj \
        $(OBJS)\monodll_display.obj \
        $(OBJS)\monodll_enhmeta.obj \
-       $(OBJS)\monodll_evtloop.obj \
        $(OBJS)\monodll_font.obj \
        $(OBJS)\monodll_fontenum.obj \
        $(OBJS)\monodll_fontutil.obj \
@@ -2018,7 +2025,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_dpycmn.obj \
        $(OBJS)\monodll_dseldlg.obj \
        $(OBJS)\monodll_effects.obj \
-       $(OBJS)\monodll_evtloopcmn.obj \
        $(OBJS)\monodll_fddlgcmn.obj \
        $(OBJS)\monodll_filepickercmn.obj \
        $(OBJS)\monodll_fontpickercmn.obj \
@@ -2315,7 +2321,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_dib.obj \
        $(OBJS)\monolib_display.obj \
        $(OBJS)\monolib_enhmeta.obj \
-       $(OBJS)\monolib_evtloop.obj \
        $(OBJS)\monolib_font.obj \
        $(OBJS)\monolib_fontenum.obj \
        $(OBJS)\monolib_fontutil.obj \
@@ -2429,7 +2434,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_dpycmn.obj \
        $(OBJS)\monolib_dseldlg.obj \
        $(OBJS)\monolib_effects.obj \
-       $(OBJS)\monolib_evtloopcmn.obj \
        $(OBJS)\monolib_fddlgcmn.obj \
        $(OBJS)\monolib_filepickercmn.obj \
        $(OBJS)\monolib_fontpickercmn.obj \
@@ -2541,7 +2545,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_dib.obj \
        $(OBJS)\monolib_display.obj \
        $(OBJS)\monolib_enhmeta.obj \
-       $(OBJS)\monolib_evtloop.obj \
        $(OBJS)\monolib_font.obj \
        $(OBJS)\monolib_fontenum.obj \
        $(OBJS)\monolib_fontutil.obj \
@@ -2658,7 +2661,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_dpycmn.obj \
        $(OBJS)\monolib_dseldlg.obj \
        $(OBJS)\monolib_effects.obj \
-       $(OBJS)\monolib_evtloopcmn.obj \
        $(OBJS)\monolib_fddlgcmn.obj \
        $(OBJS)\monolib_filepickercmn.obj \
        $(OBJS)\monolib_fontpickercmn.obj \
@@ -2893,7 +2895,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_dib.obj \
        $(OBJS)\coredll_display.obj \
        $(OBJS)\coredll_enhmeta.obj \
-       $(OBJS)\coredll_evtloop.obj \
        $(OBJS)\coredll_font.obj \
        $(OBJS)\coredll_fontenum.obj \
        $(OBJS)\coredll_fontutil.obj \
@@ -3007,7 +3008,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_dpycmn.obj \
        $(OBJS)\coredll_dseldlg.obj \
        $(OBJS)\coredll_effects.obj \
-       $(OBJS)\coredll_evtloopcmn.obj \
        $(OBJS)\coredll_fddlgcmn.obj \
        $(OBJS)\coredll_filepickercmn.obj \
        $(OBJS)\coredll_fontpickercmn.obj \
@@ -3119,7 +3119,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_dib.obj \
        $(OBJS)\coredll_display.obj \
        $(OBJS)\coredll_enhmeta.obj \
-       $(OBJS)\coredll_evtloop.obj \
        $(OBJS)\coredll_font.obj \
        $(OBJS)\coredll_fontenum.obj \
        $(OBJS)\coredll_fontutil.obj \
@@ -3236,7 +3235,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_dpycmn.obj \
        $(OBJS)\coredll_dseldlg.obj \
        $(OBJS)\coredll_effects.obj \
-       $(OBJS)\coredll_evtloopcmn.obj \
        $(OBJS)\coredll_fddlgcmn.obj \
        $(OBJS)\coredll_filepickercmn.obj \
        $(OBJS)\coredll_fontpickercmn.obj \
@@ -3358,7 +3356,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_dib.obj \
        $(OBJS)\corelib_display.obj \
        $(OBJS)\corelib_enhmeta.obj \
-       $(OBJS)\corelib_evtloop.obj \
        $(OBJS)\corelib_font.obj \
        $(OBJS)\corelib_fontenum.obj \
        $(OBJS)\corelib_fontutil.obj \
@@ -3472,7 +3469,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_dpycmn.obj \
        $(OBJS)\corelib_dseldlg.obj \
        $(OBJS)\corelib_effects.obj \
-       $(OBJS)\corelib_evtloopcmn.obj \
        $(OBJS)\corelib_fddlgcmn.obj \
        $(OBJS)\corelib_filepickercmn.obj \
        $(OBJS)\corelib_fontpickercmn.obj \
@@ -3584,7 +3580,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_dib.obj \
        $(OBJS)\corelib_display.obj \
        $(OBJS)\corelib_enhmeta.obj \
-       $(OBJS)\corelib_evtloop.obj \
        $(OBJS)\corelib_font.obj \
        $(OBJS)\corelib_fontenum.obj \
        $(OBJS)\corelib_fontutil.obj \
@@ -3701,7 +3696,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_dpycmn.obj \
        $(OBJS)\corelib_dseldlg.obj \
        $(OBJS)\corelib_effects.obj \
-       $(OBJS)\corelib_evtloopcmn.obj \
        $(OBJS)\corelib_fddlgcmn.obj \
        $(OBJS)\corelib_filepickercmn.obj \
        $(OBJS)\corelib_fontpickercmn.obj \
@@ -5578,6 +5572,9 @@ $(OBJS)\monodll_dynload.obj: ..\..\src\common\dynload.cpp
 $(OBJS)\monodll_encconv.obj: ..\..\src\common\encconv.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
 
+$(OBJS)\monodll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
+
 $(OBJS)\monodll_extended.obj: ..\..\src\common\extended.c
        $(CC) /c /nologo /TC /Fo$@ $(MONODLL_CFLAGS) $**
 
@@ -5812,6 +5809,9 @@ $(OBJS)\monodll_msgout.obj: ..\..\src\common\msgout.cpp
 $(OBJS)\monodll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
 
+$(OBJS)\monodll_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
+
 $(OBJS)\monodll_main.obj: ..\..\src\msw\main.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
 
@@ -6410,11 +6410,6 @@ $(OBJS)\monodll_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monodll_evtloop.obj: ..\..\src\msw\evtloop.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_font.obj: ..\..\src\msw\font.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
@@ -6995,11 +6990,6 @@ $(OBJS)\monodll_effects.obj: ..\..\src\common\effects.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monodll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
@@ -7644,6 +7634,9 @@ $(OBJS)\monolib_dynload.obj: ..\..\src\common\dynload.cpp
 $(OBJS)\monolib_encconv.obj: ..\..\src\common\encconv.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
 
+$(OBJS)\monolib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
+
 $(OBJS)\monolib_extended.obj: ..\..\src\common\extended.c
        $(CC) /c /nologo /TC /Fo$@ $(MONOLIB_CFLAGS) $**
 
@@ -7878,6 +7871,9 @@ $(OBJS)\monolib_msgout.obj: ..\..\src\common\msgout.cpp
 $(OBJS)\monolib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
 
+$(OBJS)\monolib_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
+
 $(OBJS)\monolib_main.obj: ..\..\src\msw\main.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
 
@@ -8476,11 +8472,6 @@ $(OBJS)\monolib_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monolib_evtloop.obj: ..\..\src\msw\evtloop.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_font.obj: ..\..\src\msw\font.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
@@ -9061,11 +9052,6 @@ $(OBJS)\monolib_effects.obj: ..\..\src\common\effects.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monolib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
@@ -9710,6 +9696,9 @@ $(OBJS)\basedll_dynload.obj: ..\..\src\common\dynload.cpp
 $(OBJS)\basedll_encconv.obj: ..\..\src\common\encconv.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
 
+$(OBJS)\basedll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
+
 $(OBJS)\basedll_extended.obj: ..\..\src\common\extended.c
        $(CC) /c /nologo /TC /Fo$@ $(BASEDLL_CFLAGS) $**
 
@@ -9944,6 +9933,9 @@ $(OBJS)\basedll_msgout.obj: ..\..\src\common\msgout.cpp
 $(OBJS)\basedll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
 
+$(OBJS)\basedll_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
+
 $(OBJS)\basedll_main.obj: ..\..\src\msw\main.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
 
@@ -10004,6 +9996,9 @@ $(OBJS)\baselib_dynload.obj: ..\..\src\common\dynload.cpp
 $(OBJS)\baselib_encconv.obj: ..\..\src\common\encconv.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
 
+$(OBJS)\baselib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
+
 $(OBJS)\baselib_extended.obj: ..\..\src\common\extended.c
        $(CC) /c /nologo /TC /Fo$@ $(BASELIB_CFLAGS) $**
 
@@ -10238,6 +10233,9 @@ $(OBJS)\baselib_msgout.obj: ..\..\src\common\msgout.cpp
 $(OBJS)\baselib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
 
+$(OBJS)\baselib_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
+
 $(OBJS)\baselib_main.obj: ..\..\src\msw\main.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
 
@@ -10346,6 +10344,9 @@ $(OBJS)\coredll_msgout.obj: ..\..\src\common\msgout.cpp
 $(OBJS)\coredll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
 
+$(OBJS)\coredll_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
+
 $(OBJS)\coredll_main.obj: ..\..\src\msw\main.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
 
@@ -10581,11 +10582,6 @@ $(OBJS)\coredll_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\coredll_evtloop.obj: ..\..\src\msw\evtloop.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\coredll_font.obj: ..\..\src\msw\font.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
@@ -11166,11 +11162,6 @@ $(OBJS)\coredll_effects.obj: ..\..\src\common\effects.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\coredll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\coredll_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
@@ -11641,6 +11632,9 @@ $(OBJS)\corelib_msgout.obj: ..\..\src\common\msgout.cpp
 $(OBJS)\corelib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
 
+$(OBJS)\corelib_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
+
 $(OBJS)\corelib_main.obj: ..\..\src\msw\main.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
 
@@ -11876,11 +11870,6 @@ $(OBJS)\corelib_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\corelib_evtloop.obj: ..\..\src\msw\evtloop.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\corelib_font.obj: ..\..\src\msw\font.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
@@ -12461,11 +12450,6 @@ $(OBJS)\corelib_effects.obj: ..\..\src\common\effects.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
 !endif
 
-!if "$(USE_GUI)" == "1"
-$(OBJS)\corelib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
-!endif
-
 !if "$(USE_GUI)" == "1"
 $(OBJS)\corelib_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
index 895e70d1f179d4f32429c25a808cadcbacbe41b8..77dae7f36232d5328f304ddd12b700ff573eb70d 100644 (file)
@@ -228,7 +228,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_dib.obj &
        $(OBJS)\monodll_display.obj &
        $(OBJS)\monodll_enhmeta.obj &
-       $(OBJS)\monodll_evtloop.obj &
        $(OBJS)\monodll_font.obj &
        $(OBJS)\monodll_fontenum.obj &
        $(OBJS)\monodll_fontutil.obj &
@@ -342,7 +341,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_dpycmn.obj &
        $(OBJS)\monodll_dseldlg.obj &
        $(OBJS)\monodll_effects.obj &
-       $(OBJS)\monodll_evtloopcmn.obj &
        $(OBJS)\monodll_fddlgcmn.obj &
        $(OBJS)\monodll_filepickercmn.obj &
        $(OBJS)\monodll_fontpickercmn.obj &
@@ -456,7 +454,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_dib.obj &
        $(OBJS)\monodll_display.obj &
        $(OBJS)\monodll_enhmeta.obj &
-       $(OBJS)\monodll_evtloop.obj &
        $(OBJS)\monodll_font.obj &
        $(OBJS)\monodll_fontenum.obj &
        $(OBJS)\monodll_fontutil.obj &
@@ -573,7 +570,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_dpycmn.obj &
        $(OBJS)\monodll_dseldlg.obj &
        $(OBJS)\monodll_effects.obj &
-       $(OBJS)\monodll_evtloopcmn.obj &
        $(OBJS)\monodll_fddlgcmn.obj &
        $(OBJS)\monodll_filepickercmn.obj &
        $(OBJS)\monodll_fontpickercmn.obj &
@@ -873,7 +869,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_dib.obj &
        $(OBJS)\monolib_display.obj &
        $(OBJS)\monolib_enhmeta.obj &
-       $(OBJS)\monolib_evtloop.obj &
        $(OBJS)\monolib_font.obj &
        $(OBJS)\monolib_fontenum.obj &
        $(OBJS)\monolib_fontutil.obj &
@@ -987,7 +982,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_dpycmn.obj &
        $(OBJS)\monolib_dseldlg.obj &
        $(OBJS)\monolib_effects.obj &
-       $(OBJS)\monolib_evtloopcmn.obj &
        $(OBJS)\monolib_fddlgcmn.obj &
        $(OBJS)\monolib_filepickercmn.obj &
        $(OBJS)\monolib_fontpickercmn.obj &
@@ -1101,7 +1095,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_dib.obj &
        $(OBJS)\monolib_display.obj &
        $(OBJS)\monolib_enhmeta.obj &
-       $(OBJS)\monolib_evtloop.obj &
        $(OBJS)\monolib_font.obj &
        $(OBJS)\monolib_fontenum.obj &
        $(OBJS)\monolib_fontutil.obj &
@@ -1218,7 +1211,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_dpycmn.obj &
        $(OBJS)\monolib_dseldlg.obj &
        $(OBJS)\monolib_effects.obj &
-       $(OBJS)\monolib_evtloopcmn.obj &
        $(OBJS)\monolib_fddlgcmn.obj &
        $(OBJS)\monolib_filepickercmn.obj &
        $(OBJS)\monolib_fontpickercmn.obj &
@@ -1448,7 +1440,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\coredll_dib.obj &
        $(OBJS)\coredll_display.obj &
        $(OBJS)\coredll_enhmeta.obj &
-       $(OBJS)\coredll_evtloop.obj &
        $(OBJS)\coredll_font.obj &
        $(OBJS)\coredll_fontenum.obj &
        $(OBJS)\coredll_fontutil.obj &
@@ -1562,7 +1553,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\coredll_dpycmn.obj &
        $(OBJS)\coredll_dseldlg.obj &
        $(OBJS)\coredll_effects.obj &
-       $(OBJS)\coredll_evtloopcmn.obj &
        $(OBJS)\coredll_fddlgcmn.obj &
        $(OBJS)\coredll_filepickercmn.obj &
        $(OBJS)\coredll_fontpickercmn.obj &
@@ -1676,7 +1666,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\coredll_dib.obj &
        $(OBJS)\coredll_display.obj &
        $(OBJS)\coredll_enhmeta.obj &
-       $(OBJS)\coredll_evtloop.obj &
        $(OBJS)\coredll_font.obj &
        $(OBJS)\coredll_fontenum.obj &
        $(OBJS)\coredll_fontutil.obj &
@@ -1793,7 +1782,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\coredll_dpycmn.obj &
        $(OBJS)\coredll_dseldlg.obj &
        $(OBJS)\coredll_effects.obj &
-       $(OBJS)\coredll_evtloopcmn.obj &
        $(OBJS)\coredll_fddlgcmn.obj &
        $(OBJS)\coredll_filepickercmn.obj &
        $(OBJS)\coredll_fontpickercmn.obj &
@@ -1917,7 +1905,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\corelib_dib.obj &
        $(OBJS)\corelib_display.obj &
        $(OBJS)\corelib_enhmeta.obj &
-       $(OBJS)\corelib_evtloop.obj &
        $(OBJS)\corelib_font.obj &
        $(OBJS)\corelib_fontenum.obj &
        $(OBJS)\corelib_fontutil.obj &
@@ -2031,7 +2018,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\corelib_dpycmn.obj &
        $(OBJS)\corelib_dseldlg.obj &
        $(OBJS)\corelib_effects.obj &
-       $(OBJS)\corelib_evtloopcmn.obj &
        $(OBJS)\corelib_fddlgcmn.obj &
        $(OBJS)\corelib_filepickercmn.obj &
        $(OBJS)\corelib_fontpickercmn.obj &
@@ -2145,7 +2131,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\corelib_dib.obj &
        $(OBJS)\corelib_display.obj &
        $(OBJS)\corelib_enhmeta.obj &
-       $(OBJS)\corelib_evtloop.obj &
        $(OBJS)\corelib_font.obj &
        $(OBJS)\corelib_fontenum.obj &
        $(OBJS)\corelib_fontutil.obj &
@@ -2262,7 +2247,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\corelib_dpycmn.obj &
        $(OBJS)\corelib_dseldlg.obj &
        $(OBJS)\corelib_effects.obj &
-       $(OBJS)\corelib_evtloopcmn.obj &
        $(OBJS)\corelib_fddlgcmn.obj &
        $(OBJS)\corelib_filepickercmn.obj &
        $(OBJS)\corelib_fontpickercmn.obj &
@@ -3253,6 +3237,7 @@ MONODLL_OBJECTS =  &
        $(OBJS)\monodll_dynlib.obj &
        $(OBJS)\monodll_dynload.obj &
        $(OBJS)\monodll_encconv.obj &
+       $(OBJS)\monodll_evtloopcmn.obj &
        $(OBJS)\monodll_extended.obj &
        $(OBJS)\monodll_ffile.obj &
        $(OBJS)\monodll_file.obj &
@@ -3331,6 +3316,7 @@ MONODLL_OBJECTS =  &
        $(OBJS)\monodll_fs_mem.obj &
        $(OBJS)\monodll_msgout.obj &
        $(OBJS)\monodll_utilscmn.obj &
+       $(OBJS)\monodll_evtloopmsw.obj &
        $(OBJS)\monodll_main.obj &
        $(OBJS)\monodll_mslu.obj &
        $(OBJS)\monodll_volume.obj &
@@ -3386,6 +3372,7 @@ MONOLIB_OBJECTS =  &
        $(OBJS)\monolib_dynlib.obj &
        $(OBJS)\monolib_dynload.obj &
        $(OBJS)\monolib_encconv.obj &
+       $(OBJS)\monolib_evtloopcmn.obj &
        $(OBJS)\monolib_extended.obj &
        $(OBJS)\monolib_ffile.obj &
        $(OBJS)\monolib_file.obj &
@@ -3464,6 +3451,7 @@ MONOLIB_OBJECTS =  &
        $(OBJS)\monolib_fs_mem.obj &
        $(OBJS)\monolib_msgout.obj &
        $(OBJS)\monolib_utilscmn.obj &
+       $(OBJS)\monolib_evtloopmsw.obj &
        $(OBJS)\monolib_main.obj &
        $(OBJS)\monolib_mslu.obj &
        $(OBJS)\monolib_volume.obj &
@@ -3517,6 +3505,7 @@ BASEDLL_OBJECTS =  &
        $(OBJS)\basedll_dynlib.obj &
        $(OBJS)\basedll_dynload.obj &
        $(OBJS)\basedll_encconv.obj &
+       $(OBJS)\basedll_evtloopcmn.obj &
        $(OBJS)\basedll_extended.obj &
        $(OBJS)\basedll_ffile.obj &
        $(OBJS)\basedll_file.obj &
@@ -3595,6 +3584,7 @@ BASEDLL_OBJECTS =  &
        $(OBJS)\basedll_fs_mem.obj &
        $(OBJS)\basedll_msgout.obj &
        $(OBJS)\basedll_utilscmn.obj &
+       $(OBJS)\basedll_evtloopmsw.obj &
        $(OBJS)\basedll_main.obj &
        $(OBJS)\basedll_mslu.obj &
        $(OBJS)\basedll_volume.obj
@@ -3632,6 +3622,7 @@ BASELIB_OBJECTS =  &
        $(OBJS)\baselib_dynlib.obj &
        $(OBJS)\baselib_dynload.obj &
        $(OBJS)\baselib_encconv.obj &
+       $(OBJS)\baselib_evtloopcmn.obj &
        $(OBJS)\baselib_extended.obj &
        $(OBJS)\baselib_ffile.obj &
        $(OBJS)\baselib_file.obj &
@@ -3710,6 +3701,7 @@ BASELIB_OBJECTS =  &
        $(OBJS)\baselib_fs_mem.obj &
        $(OBJS)\baselib_msgout.obj &
        $(OBJS)\baselib_utilscmn.obj &
+       $(OBJS)\baselib_evtloopmsw.obj &
        $(OBJS)\baselib_main.obj &
        $(OBJS)\baselib_mslu.obj &
        $(OBJS)\baselib_volume.obj
@@ -3773,6 +3765,7 @@ COREDLL_OBJECTS =  &
        $(OBJS)\coredll_fs_mem.obj &
        $(OBJS)\coredll_msgout.obj &
        $(OBJS)\coredll_utilscmn.obj &
+       $(OBJS)\coredll_evtloopmsw.obj &
        $(OBJS)\coredll_main.obj &
        $(OBJS)\coredll_mslu.obj &
        $(OBJS)\coredll_volume.obj &
@@ -3791,6 +3784,7 @@ CORELIB_OBJECTS =  &
        $(OBJS)\corelib_fs_mem.obj &
        $(OBJS)\corelib_msgout.obj &
        $(OBJS)\corelib_utilscmn.obj &
+       $(OBJS)\corelib_evtloopmsw.obj &
        $(OBJS)\corelib_main.obj &
        $(OBJS)\corelib_mslu.obj &
        $(OBJS)\corelib_volume.obj &
@@ -5659,6 +5653,9 @@ $(OBJS)\monodll_dynload.obj :  .AUTODEPEND ..\..\src\common\dynload.cpp
 $(OBJS)\monodll_encconv.obj :  .AUTODEPEND ..\..\src\common\encconv.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 
+$(OBJS)\monodll_evtloopcmn.obj :  .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+
 $(OBJS)\monodll_extended.obj :  .AUTODEPEND ..\..\src\common\extended.c
        $(CC) -bt=nt -zq -fo=$^@ $(MONODLL_CFLAGS) $<
 
@@ -5893,6 +5890,9 @@ $(OBJS)\monodll_msgout.obj :  .AUTODEPEND ..\..\src\common\msgout.cpp
 $(OBJS)\monodll_utilscmn.obj :  .AUTODEPEND ..\..\src\common\utilscmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 
+$(OBJS)\monodll_evtloopmsw.obj :  .AUTODEPEND ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+
 $(OBJS)\monodll_main.obj :  .AUTODEPEND ..\..\src\msw\main.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 
@@ -6491,11 +6491,6 @@ $(OBJS)\monodll_enhmeta.obj :  .AUTODEPEND ..\..\src\msw\enhmeta.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 !endif
 
-!ifeq USE_GUI 1
-$(OBJS)\monodll_evtloop.obj :  .AUTODEPEND ..\..\src\msw\evtloop.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
-!endif
-
 !ifeq USE_GUI 1
 $(OBJS)\monodll_font.obj :  .AUTODEPEND ..\..\src\msw\font.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
@@ -7176,11 +7171,6 @@ $(OBJS)\monodll_effects.obj :  .AUTODEPEND ..\..\src\common\effects.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 !endif
 
-!ifeq USE_GUI 1
-$(OBJS)\monodll_evtloopcmn.obj :  .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
-!endif
-
 !ifeq USE_GUI 1
 $(OBJS)\monodll_fddlgcmn.obj :  .AUTODEPEND ..\..\src\common\fddlgcmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
@@ -7825,6 +7815,9 @@ $(OBJS)\monolib_dynload.obj :  .AUTODEPEND ..\..\src\common\dynload.cpp
 $(OBJS)\monolib_encconv.obj :  .AUTODEPEND ..\..\src\common\encconv.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 
+$(OBJS)\monolib_evtloopcmn.obj :  .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+
 $(OBJS)\monolib_extended.obj :  .AUTODEPEND ..\..\src\common\extended.c
        $(CC) -bt=nt -zq -fo=$^@ $(MONOLIB_CFLAGS) $<
 
@@ -8059,6 +8052,9 @@ $(OBJS)\monolib_msgout.obj :  .AUTODEPEND ..\..\src\common\msgout.cpp
 $(OBJS)\monolib_utilscmn.obj :  .AUTODEPEND ..\..\src\common\utilscmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 
+$(OBJS)\monolib_evtloopmsw.obj :  .AUTODEPEND ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+
 $(OBJS)\monolib_main.obj :  .AUTODEPEND ..\..\src\msw\main.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 
@@ -8657,11 +8653,6 @@ $(OBJS)\monolib_enhmeta.obj :  .AUTODEPEND ..\..\src\msw\enhmeta.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 !endif
 
-!ifeq USE_GUI 1
-$(OBJS)\monolib_evtloop.obj :  .AUTODEPEND ..\..\src\msw\evtloop.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
-!endif
-
 !ifeq USE_GUI 1
 $(OBJS)\monolib_font.obj :  .AUTODEPEND ..\..\src\msw\font.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
@@ -9342,11 +9333,6 @@ $(OBJS)\monolib_effects.obj :  .AUTODEPEND ..\..\src\common\effects.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 !endif
 
-!ifeq USE_GUI 1
-$(OBJS)\monolib_evtloopcmn.obj :  .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
-!endif
-
 !ifeq USE_GUI 1
 $(OBJS)\monolib_fddlgcmn.obj :  .AUTODEPEND ..\..\src\common\fddlgcmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
@@ -9991,6 +9977,9 @@ $(OBJS)\basedll_dynload.obj :  .AUTODEPEND ..\..\src\common\dynload.cpp
 $(OBJS)\basedll_encconv.obj :  .AUTODEPEND ..\..\src\common\encconv.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
 
+$(OBJS)\basedll_evtloopcmn.obj :  .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
+
 $(OBJS)\basedll_extended.obj :  .AUTODEPEND ..\..\src\common\extended.c
        $(CC) -bt=nt -zq -fo=$^@ $(BASEDLL_CFLAGS) $<
 
@@ -10225,6 +10214,9 @@ $(OBJS)\basedll_msgout.obj :  .AUTODEPEND ..\..\src\common\msgout.cpp
 $(OBJS)\basedll_utilscmn.obj :  .AUTODEPEND ..\..\src\common\utilscmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
 
+$(OBJS)\basedll_evtloopmsw.obj :  .AUTODEPEND ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
+
 $(OBJS)\basedll_main.obj :  .AUTODEPEND ..\..\src\msw\main.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
 
@@ -10285,6 +10277,9 @@ $(OBJS)\baselib_dynload.obj :  .AUTODEPEND ..\..\src\common\dynload.cpp
 $(OBJS)\baselib_encconv.obj :  .AUTODEPEND ..\..\src\common\encconv.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
 
+$(OBJS)\baselib_evtloopcmn.obj :  .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
+
 $(OBJS)\baselib_extended.obj :  .AUTODEPEND ..\..\src\common\extended.c
        $(CC) -bt=nt -zq -fo=$^@ $(BASELIB_CFLAGS) $<
 
@@ -10519,6 +10514,9 @@ $(OBJS)\baselib_msgout.obj :  .AUTODEPEND ..\..\src\common\msgout.cpp
 $(OBJS)\baselib_utilscmn.obj :  .AUTODEPEND ..\..\src\common\utilscmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
 
+$(OBJS)\baselib_evtloopmsw.obj :  .AUTODEPEND ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
+
 $(OBJS)\baselib_main.obj :  .AUTODEPEND ..\..\src\msw\main.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
 
@@ -10627,6 +10625,9 @@ $(OBJS)\coredll_msgout.obj :  .AUTODEPEND ..\..\src\common\msgout.cpp
 $(OBJS)\coredll_utilscmn.obj :  .AUTODEPEND ..\..\src\common\utilscmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
 
+$(OBJS)\coredll_evtloopmsw.obj :  .AUTODEPEND ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
+
 $(OBJS)\coredll_main.obj :  .AUTODEPEND ..\..\src\msw\main.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
 
@@ -10862,11 +10863,6 @@ $(OBJS)\coredll_enhmeta.obj :  .AUTODEPEND ..\..\src\msw\enhmeta.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
 !endif
 
-!ifeq USE_GUI 1
-$(OBJS)\coredll_evtloop.obj :  .AUTODEPEND ..\..\src\msw\evtloop.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
-!endif
-
 !ifeq USE_GUI 1
 $(OBJS)\coredll_font.obj :  .AUTODEPEND ..\..\src\msw\font.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
@@ -11547,11 +11543,6 @@ $(OBJS)\coredll_effects.obj :  .AUTODEPEND ..\..\src\common\effects.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
 !endif
 
-!ifeq USE_GUI 1
-$(OBJS)\coredll_evtloopcmn.obj :  .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
-!endif
-
 !ifeq USE_GUI 1
 $(OBJS)\coredll_fddlgcmn.obj :  .AUTODEPEND ..\..\src\common\fddlgcmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
@@ -12022,6 +12013,9 @@ $(OBJS)\corelib_msgout.obj :  .AUTODEPEND ..\..\src\common\msgout.cpp
 $(OBJS)\corelib_utilscmn.obj :  .AUTODEPEND ..\..\src\common\utilscmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
 
+$(OBJS)\corelib_evtloopmsw.obj :  .AUTODEPEND ..\..\src\msw\evtloopmsw.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
+
 $(OBJS)\corelib_main.obj :  .AUTODEPEND ..\..\src\msw\main.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
 
@@ -12257,11 +12251,6 @@ $(OBJS)\corelib_enhmeta.obj :  .AUTODEPEND ..\..\src\msw\enhmeta.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
 !endif
 
-!ifeq USE_GUI 1
-$(OBJS)\corelib_evtloop.obj :  .AUTODEPEND ..\..\src\msw\evtloop.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
-!endif
-
 !ifeq USE_GUI 1
 $(OBJS)\corelib_font.obj :  .AUTODEPEND ..\..\src\msw\font.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
@@ -12942,11 +12931,6 @@ $(OBJS)\corelib_effects.obj :  .AUTODEPEND ..\..\src\common\effects.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
 !endif
 
-!ifeq USE_GUI 1
-$(OBJS)\corelib_evtloopcmn.obj :  .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
-!endif
-
 !ifeq USE_GUI 1
 $(OBJS)\corelib_fddlgcmn.obj :  .AUTODEPEND ..\..\src\common\fddlgcmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
index 487f50b8d986d2ac25b88540e05c885de15c9c73..2f0582582fdbff6df0d49b21732c2d736e03b6de 100644 (file)
@@ -526,6 +526,10 @@ SOURCE=..\..\src\common\event.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\src\common\evtloopcmn.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\src\common\extended.c
 # SUBTRACT CPP /YX /Yc /Yu
 # End Source File
@@ -795,6 +799,10 @@ SOURCE=..\..\src\msw\dlmsw.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\src\msw\evtloopmsw.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\src\msw\main.cpp
 # End Source File
 # Begin Source File
index 8d496b40247d031acff0e0fb3981f5aa202794f2..ac3a5810111da47e4ffef13b064e8096ab2c130b 100644 (file)
@@ -594,10 +594,6 @@ SOURCE=..\..\src\common\event.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\common\evtloopcmn.cpp
-# End Source File
-# Begin Source File
-
 SOURCE=..\..\src\common\fddlgcmn.cpp
 # End Source File
 # Begin Source File
@@ -1820,7 +1816,7 @@ SOURCE=..\..\src\msw\enhmeta.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\msw\evtloop.cpp
+SOURCE=..\..\src\msw\evtloopmsw.cpp
 # End Source File
 # Begin Source File
 
index f98ee0dc7f9578143d54ba55c4c2355ab823cbf9..2f12a7f30f6e0d4f2d31b92e12ebe9572c57a2fd 100755 (executable)
--- a/configure
+++ b/configure
@@ -3396,7 +3396,7 @@ if test "${enable_gui+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_GUI" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_GUI=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -3437,7 +3437,7 @@ if test "${enable_monolithic+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_MONOLITHIC" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_MONOLITHIC=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -3478,7 +3478,7 @@ if test "${enable_plugins+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PLUGINS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PLUGINS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -3520,7 +3520,7 @@ if test "${with_subdirs+set}" = set; then
 
 else
 
-                        LINE=`grep "wxWITH_SUBDIRS" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxWITH_SUBDIRS=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -3564,7 +3564,7 @@ if test "${enable_universal+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_UNIVERSAL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_UNIVERSAL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -3671,7 +3671,7 @@ if test "${enable_nanox+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_NANOX" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_NANOX=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -3718,7 +3718,7 @@ if test "${enable_gpe+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_GPE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_GPE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -3768,7 +3768,7 @@ echo "$as_me: error: Invalid value for --with-libpng: should be yes, no, sys, or
 
 else
 
-                        LINE=`grep "wxUSE_LIBPNG" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_LIBPNG=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -3827,7 +3827,7 @@ echo "$as_me: error: Invalid value for --with-libjpeg: should be yes, no, sys, o
 
 else
 
-                        LINE=`grep "wxUSE_LIBJPEG" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_LIBJPEG=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -3886,7 +3886,7 @@ echo "$as_me: error: Invalid value for --with-libtiff: should be yes, no, sys, o
 
 else
 
-                        LINE=`grep "wxUSE_LIBTIFF" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_LIBTIFF=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -3945,7 +3945,7 @@ echo "$as_me: error: Invalid value for --with-libxpm: should be yes, no, sys, or
 
 else
 
-                        LINE=`grep "wxUSE_LIBXPM" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_LIBXPM=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -3997,7 +3997,7 @@ if test "${with_libmspack+set}" = set; then
 
 else
 
-                        LINE=`grep "wxUSE_LIBMSPACK" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_LIBMSPACK=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -4039,7 +4039,7 @@ if test "${with_sdl+set}" = set; then
 
 else
 
-                        LINE=`grep "wxUSE_LIBSDL" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_LIBSDL=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -4081,7 +4081,7 @@ if test "${with_gnomeprint+set}" = set; then
 
 else
 
-                        LINE=`grep "wxUSE_LIBGNOMEPRINT" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_LIBGNOMEPRINT=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -4123,7 +4123,7 @@ if test "${with_gnomevfs+set}" = set; then
 
 else
 
-                        LINE=`grep "wxUSE_LIBGNOMEVFS" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_LIBGNOMEVFS=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -4165,7 +4165,7 @@ if test "${with_hildon+set}" = set; then
 
 else
 
-                        LINE=`grep "wxUSE_LIBHILDON" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_LIBHILDON=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -4207,7 +4207,7 @@ if test "${with_opengl+set}" = set; then
 
 else
 
-                        LINE=`grep "wxUSE_OPENGL" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_OPENGL=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -4261,7 +4261,7 @@ if test "${with_dmalloc+set}" = set; then
 
 else
 
-                        LINE=`grep "wxUSE_DMALLOC" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_DMALLOC=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -4310,7 +4310,7 @@ echo "$as_me: error: Invalid value for --with-regex: should be yes, no, sys, or
 
 else
 
-                        LINE=`grep "wxUSE_REGEX" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_REGEX=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -4369,7 +4369,7 @@ echo "$as_me: error: Invalid value for --with-zlib: should be yes, no, sys, or b
 
 else
 
-                        LINE=`grep "wxUSE_ZLIB" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_ZLIB=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -4428,7 +4428,7 @@ echo "$as_me: error: Invalid value for --with-odbc: should be yes, no, sys, or b
 
 else
 
-                        LINE=`grep "wxUSE_ODBC" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_ODBC=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -4487,7 +4487,7 @@ echo "$as_me: error: Invalid value for --with-expat: should be yes, no, sys, or
 
 else
 
-                        LINE=`grep "wxUSE_EXPAT" ${wx_arg_cache_file}`
+                        LINE=`grep "^wxUSE_EXPAT=" ${wx_arg_cache_file}`
                         if test "x$LINE" != x ; then
                           eval "DEFAULT_$LINE"
                         else
@@ -4540,7 +4540,7 @@ if test "${enable_shared+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SHARED" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SHARED=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -4581,7 +4581,7 @@ if test "${enable_optimise+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_OPTIMISE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_OPTIMISE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -4622,7 +4622,7 @@ if test "${enable_debug+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DEBUG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DEBUG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -4663,7 +4663,7 @@ if test "${enable_stl+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -4704,7 +4704,7 @@ if test "${enable_extended_rtti+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_EXTENDED_RTTI" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_EXTENDED_RTTI=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -4747,7 +4747,7 @@ if test "${enable_omf+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_OMF" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_OMF=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -4800,7 +4800,7 @@ if test "${enable_debug_flag+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DEBUG_FLAG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DEBUG_FLAG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -4841,7 +4841,7 @@ if test "${enable_debug_info+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DEBUG_INFO" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DEBUG_INFO=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -4882,7 +4882,7 @@ if test "${enable_debug_gdb+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DEBUG_GDB" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DEBUG_GDB=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -4923,7 +4923,7 @@ if test "${enable_debug_cntxt+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DEBUG_CONTEXT" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DEBUG_CONTEXT=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -4964,7 +4964,7 @@ if test "${enable_mem_tracing+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_MEM_TRACING" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_MEM_TRACING=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5005,7 +5005,7 @@ if test "${enable_profile+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PROFILE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PROFILE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5046,7 +5046,7 @@ if test "${enable_no_rtti+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_NO_RTTI" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_NO_RTTI=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5087,7 +5087,7 @@ if test "${enable_no_exceptions+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_NO_EXCEPTIONS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_NO_EXCEPTIONS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5128,7 +5128,7 @@ if test "${enable_permissive+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PERMISSIVE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PERMISSIVE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5169,7 +5169,7 @@ if test "${enable_no_deps+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_NO_DEPS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_NO_DEPS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5210,7 +5210,7 @@ if test "${enable_vararg_macros+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_VARARG_MACROS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_VARARG_MACROS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5247,7 +5247,7 @@ if test "${enable_universal_binary+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_UNIVERSAL_BINARY" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_UNIVERSAL_BINARY=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5284,7 +5284,7 @@ if test "${enable_compat26+set}" = set; then
 
 else
 
-                          LINE=`grep "WXWIN_COMPATIBILITY_2_6" ${wx_arg_cache_file}`
+                          LINE=`grep "^WXWIN_COMPATIBILITY_2_6=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5325,7 +5325,7 @@ if test "${enable_compat28+set}" = set; then
 
 else
 
-                          LINE=`grep "WXWIN_COMPATIBILITY_2_8" ${wx_arg_cache_file}`
+                          LINE=`grep "^WXWIN_COMPATIBILITY_2_8=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5367,7 +5367,7 @@ if test "${enable_rpath+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_RPATH" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_RPATH=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5411,7 +5411,7 @@ if test "${enable_intl+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_INTL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_INTL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5452,7 +5452,7 @@ if test "${enable_config+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_CONFIG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_CONFIG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5494,7 +5494,7 @@ if test "${enable_protocols+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PROTOCOL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PROTOCOL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5535,7 +5535,7 @@ if test "${enable_ftp+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PROTOCOL_FTP" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PROTOCOL_FTP=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5576,7 +5576,7 @@ if test "${enable_http+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PROTOCOL_HTTP" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PROTOCOL_HTTP=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5617,7 +5617,7 @@ if test "${enable_fileproto+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PROTOCOL_FILE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PROTOCOL_FILE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5658,7 +5658,7 @@ if test "${enable_sockets+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SOCKETS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SOCKETS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5699,7 +5699,7 @@ if test "${enable_ole+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_OLE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_OLE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5740,7 +5740,7 @@ if test "${enable_dataobj+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DATAOBJ" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DATAOBJ=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5782,7 +5782,7 @@ if test "${enable_ipc+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_IPC" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_IPC=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5824,7 +5824,7 @@ if test "${enable_apple_ieee+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_APPLE_IEEE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_APPLE_IEEE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5865,7 +5865,7 @@ if test "${enable_arcstream+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_ARCHIVE_STREAMS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_ARCHIVE_STREAMS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5906,7 +5906,7 @@ if test "${enable_backtrace+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STACKWALKER" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STACKWALKER=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5947,7 +5947,7 @@ if test "${enable_catch_segvs+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_ON_FATAL_EXCEPTION" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_ON_FATAL_EXCEPTION=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -5988,7 +5988,7 @@ if test "${enable_cmdline+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_CMDLINE_PARSER" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_CMDLINE_PARSER=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6029,7 +6029,7 @@ if test "${enable_datetime+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DATETIME" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DATETIME=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6070,7 +6070,7 @@ if test "${enable_debugreport+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DEBUGREPORT" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DEBUGREPORT=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6111,7 +6111,7 @@ if test "${enable_dialupman+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DIALUP_MANAGER" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DIALUP_MANAGER=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6152,7 +6152,7 @@ if test "${enable_dynlib+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DYNLIB_CLASS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DYNLIB_CLASS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6193,7 +6193,7 @@ if test "${enable_dynamicloader+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DYNAMIC_LOADER" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DYNAMIC_LOADER=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6234,7 +6234,7 @@ if test "${enable_exceptions+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_EXCEPTIONS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_EXCEPTIONS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6275,7 +6275,7 @@ if test "${enable_ffile+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_FFILE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_FFILE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6316,7 +6316,7 @@ if test "${enable_file+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_FILE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_FILE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6357,7 +6357,7 @@ if test "${enable_filesystem+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_FILESYSTEM" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_FILESYSTEM=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6398,7 +6398,7 @@ if test "${enable_fontmap+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_FONTMAP" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_FONTMAP=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6439,7 +6439,7 @@ if test "${enable_fs_archive+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_FS_ARCHIVE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_FS_ARCHIVE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6480,7 +6480,7 @@ if test "${enable_fs_inet+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_FS_INET" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_FS_INET=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6521,7 +6521,7 @@ if test "${enable_fs_zip+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_FS_ZIP" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_FS_ZIP=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6562,7 +6562,7 @@ if test "${enable_geometry+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_GEOMETRY" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_GEOMETRY=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6603,7 +6603,7 @@ if test "${enable_log+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_LOG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_LOG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6644,7 +6644,7 @@ if test "${enable_longlong+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_LONGLONG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_LONGLONG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6685,7 +6685,7 @@ if test "${enable_mimetype+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_MIMETYPE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_MIMETYPE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6726,7 +6726,7 @@ if test "${enable_mslu+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_UNICODE_MSLU" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_UNICODE_MSLU=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6763,7 +6763,7 @@ if test "${enable_utf8+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_UNICODE_UTF8" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_UNICODE_UTF8=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6799,7 +6799,7 @@ if test "${enable_utf8only+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_UNICODE_UTF8_LOCALE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_UNICODE_UTF8_LOCALE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6840,7 +6840,7 @@ if test "${enable_snglinst+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SNGLINST_CHECKER" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SNGLINST_CHECKER=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6881,7 +6881,7 @@ if test "${enable_std_iostreams+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STD_IOSTREAM" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STD_IOSTREAM=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6922,7 +6922,7 @@ if test "${enable_std_string+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STD_STRING" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STD_STRING=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -6963,7 +6963,7 @@ if test "${enable_stdpaths+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STDPATHS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STDPATHS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7004,7 +7004,7 @@ if test "${enable_stopwatch+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STOPWATCH" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STOPWATCH=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7045,7 +7045,7 @@ if test "${enable_streams+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STREAMS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STREAMS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7086,7 +7086,7 @@ if test "${enable_system_options+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SYSTEM_OPTIONS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SYSTEM_OPTIONS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7127,7 +7127,7 @@ if test "${enable_tarstream+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TARSTREAM" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TARSTREAM=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7168,7 +7168,7 @@ if test "${enable_textbuf+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TEXTBUFFER" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TEXTBUFFER=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7209,7 +7209,7 @@ if test "${enable_textfile+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TEXTFILE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TEXTFILE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7250,7 +7250,7 @@ if test "${enable_timer+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TIMER" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TIMER=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7291,7 +7291,7 @@ if test "${enable_unicode+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_UNICODE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_UNICODE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7332,7 +7332,7 @@ if test "${enable_sound+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SOUND" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SOUND=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7373,7 +7373,7 @@ if test "${enable_mediactrl+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_MEDIACTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_MEDIACTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7414,7 +7414,7 @@ if test "${enable_gstreamer8+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_GSTREAMER8" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_GSTREAMER8=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7455,7 +7455,7 @@ if test "${enable_printfposparam+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PRINTF_POS_PARAMS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PRINTF_POS_PARAMS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7496,7 +7496,7 @@ if test "${enable_zipstream+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_ZIPSTREAM" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_ZIPSTREAM=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7538,7 +7538,7 @@ if test "${enable_url+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_URL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_URL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7579,7 +7579,7 @@ if test "${enable_variant+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_VARIANT" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_VARIANT=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7620,7 +7620,7 @@ if test "${enable_protocol+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PROTOCOL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PROTOCOL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7661,7 +7661,7 @@ if test "${enable_protocol_http+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PROTOCOL_HTTP" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PROTOCOL_HTTP=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7702,7 +7702,7 @@ if test "${enable_protocol_ftp+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PROTOCOL_FTP" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PROTOCOL_FTP=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7743,7 +7743,7 @@ if test "${enable_protocol_file+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PROTOCOL_FILE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PROTOCOL_FILE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7787,7 +7787,7 @@ if test "${enable_threads+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_THREADS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_THREADS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7832,7 +7832,7 @@ if test "${enable_docview+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DOC_VIEW_ARCHITECTURE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DOC_VIEW_ARCHITECTURE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7873,7 +7873,7 @@ if test "${enable_help+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_HELP" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_HELP=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7914,7 +7914,7 @@ if test "${enable_mshtmlhelp+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_MS_HTML_HELP" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_MS_HTML_HELP=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7955,7 +7955,7 @@ if test "${enable_html+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_HTML" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_HTML=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -7996,7 +7996,7 @@ if test "${enable_htmlhelp+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_WXHTML_HELP" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_WXHTML_HELP=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8037,7 +8037,7 @@ if test "${enable_xrc+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_XRC" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_XRC=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8078,7 +8078,7 @@ if test "${enable_aui+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_AUI" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_AUI=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8119,7 +8119,7 @@ if test "${enable_stc+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STC" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STC=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8160,7 +8160,7 @@ if test "${enable_constraints+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_CONSTRAINTS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_CONSTRAINTS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8201,7 +8201,7 @@ if test "${enable_printarch+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PRINTING_ARCHITECTURE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PRINTING_ARCHITECTURE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8242,7 +8242,7 @@ if test "${enable_mdi+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_MDI" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_MDI=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8283,7 +8283,7 @@ if test "${enable_mdidoc+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_MDI_ARCHITECTURE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_MDI_ARCHITECTURE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8324,7 +8324,7 @@ if test "${enable_loggui+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_LOGGUI" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_LOGGUI=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8365,7 +8365,7 @@ if test "${enable_logwin+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_LOGWINDOW" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_LOGWINDOW=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8406,7 +8406,7 @@ if test "${enable_logdialog+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_LOGDIALOG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_LOGDIALOG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8447,7 +8447,7 @@ if test "${enable_webkit+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_WEBKIT" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_WEBKIT=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8488,7 +8488,7 @@ if test "${enable_richtext+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_RICHTEXT" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_RICHTEXT=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8529,7 +8529,7 @@ if test "${enable_graphics_ctx+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_GRAPHICS_CONTEXT" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_GRAPHICS_CONTEXT=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8571,7 +8571,7 @@ if test "${enable_postscript+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_POSTSCRIPT" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_POSTSCRIPT=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8615,7 +8615,7 @@ if test "${enable_clipboard+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_CLIPBOARD" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_CLIPBOARD=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8656,7 +8656,7 @@ if test "${enable_dnd+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DRAG_AND_DROP" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DRAG_AND_DROP=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8697,7 +8697,7 @@ if test "${enable_metafile+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_METAFILE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_METAFILE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8741,7 +8741,7 @@ if test "${enable_controls+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_CONTROLS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_CONTROLS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8891,7 +8891,7 @@ if test "${enable_accel+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_ACCEL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_ACCEL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8932,7 +8932,7 @@ if test "${enable_animatectrl+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_ANIMATIONCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_ANIMATIONCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -8973,7 +8973,7 @@ if test "${enable_button+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_BUTTON" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_BUTTON=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9014,7 +9014,7 @@ if test "${enable_bmpbutton+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_BMPBUTTON" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_BMPBUTTON=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9055,7 +9055,7 @@ if test "${enable_bmpcombobox+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_BITMAPCOMBOBOX" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_BITMAPCOMBOBOX=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9096,7 +9096,7 @@ if test "${enable_calendar+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_CALCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_CALCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9137,7 +9137,7 @@ if test "${enable_caret+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_CARET" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_CARET=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9178,7 +9178,7 @@ if test "${enable_checkbox+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_CHECKBOX" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_CHECKBOX=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9219,7 +9219,7 @@ if test "${enable_checklst+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_CHECKLST" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_CHECKLST=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9260,7 +9260,7 @@ if test "${enable_choice+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_CHOICE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_CHOICE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9301,7 +9301,7 @@ if test "${enable_choicebook+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_CHOICEBOOK" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_CHOICEBOOK=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9342,7 +9342,7 @@ if test "${enable_collpane+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_COLLPANE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_COLLPANE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9383,7 +9383,7 @@ if test "${enable_colourpicker+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_COLOURPICKERCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_COLOURPICKERCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9424,7 +9424,7 @@ if test "${enable_combobox+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_COMBOBOX" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_COMBOBOX=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9465,7 +9465,7 @@ if test "${enable_comboctrl+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_COMBOCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_COMBOCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9506,7 +9506,7 @@ if test "${enable_datepick+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DATEPICKCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DATEPICKCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9547,7 +9547,7 @@ if test "${enable_dirpicker+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DIRPICKERCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DIRPICKERCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9588,7 +9588,7 @@ if test "${enable_display+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DISPLAY" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DISPLAY=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9629,7 +9629,7 @@ if test "${enable_detect_sm+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DETECT_SM" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DETECT_SM=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9670,7 +9670,7 @@ if test "${enable_editablebox+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_EDITABLELISTBOX" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_EDITABLELISTBOX=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9711,7 +9711,7 @@ if test "${enable_filepicker+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_FILEPICKERCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_FILEPICKERCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9752,7 +9752,7 @@ if test "${enable_fontpicker+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_FONTPICKERCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_FONTPICKERCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9793,7 +9793,7 @@ if test "${enable_gauge+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_GAUGE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_GAUGE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9834,7 +9834,7 @@ if test "${enable_grid+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_GRID" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_GRID=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9875,7 +9875,7 @@ if test "${enable_dataviewctrl+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DATAVIEWCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DATAVIEWCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9916,7 +9916,7 @@ if test "${enable_hyperlink+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_HYPERLINKCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_HYPERLINKCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9957,7 +9957,7 @@ if test "${enable_imaglist+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_IMAGLIST" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_IMAGLIST=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -9998,7 +9998,7 @@ if test "${enable_listbook+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_LISTBOOK" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_LISTBOOK=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10039,7 +10039,7 @@ if test "${enable_listbox+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_LISTBOX" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_LISTBOX=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10080,7 +10080,7 @@ if test "${enable_listctrl+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_LISTCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_LISTCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10121,7 +10121,7 @@ if test "${enable_notebook+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_NOTEBOOK" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_NOTEBOOK=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10162,7 +10162,7 @@ if test "${enable_odcombobox+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_ODCOMBOBOX" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_ODCOMBOBOX=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10203,7 +10203,7 @@ if test "${enable_radiobox+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_RADIOBOX" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_RADIOBOX=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10244,7 +10244,7 @@ if test "${enable_radiobtn+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_RADIOBTN" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_RADIOBTN=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10285,7 +10285,7 @@ if test "${enable_sash+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SASH" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SASH=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10326,7 +10326,7 @@ if test "${enable_scrollbar+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SCROLLBAR" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SCROLLBAR=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10367,7 +10367,7 @@ if test "${enable_searchctrl+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SEARCHCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SEARCHCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10408,7 +10408,7 @@ if test "${enable_slider+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SLIDER" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SLIDER=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10449,7 +10449,7 @@ if test "${enable_spinbtn+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SPINBTN" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SPINBTN=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10490,7 +10490,7 @@ if test "${enable_spinctrl+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SPINCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SPINCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10531,7 +10531,7 @@ if test "${enable_splitter+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SPLITTER" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SPLITTER=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10572,7 +10572,7 @@ if test "${enable_statbmp+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STATBMP" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STATBMP=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10613,7 +10613,7 @@ if test "${enable_statbox+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STATBOX" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STATBOX=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10654,7 +10654,7 @@ if test "${enable_statline+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STATLINE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STATLINE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10695,7 +10695,7 @@ if test "${enable_stattext+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STATTEXT" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STATTEXT=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10736,7 +10736,7 @@ if test "${enable_statusbar+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STATUSBAR" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STATUSBAR=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10777,7 +10777,7 @@ if test "${enable_tabdialog+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TAB_DIALOG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TAB_DIALOG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10818,7 +10818,7 @@ if test "${enable_textctrl+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TEXTCTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TEXTCTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10859,7 +10859,7 @@ if test "${enable_togglebtn+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TOGGLEBTN" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TOGGLEBTN=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10900,7 +10900,7 @@ if test "${enable_toolbar+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TOOLBAR" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TOOLBAR=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10941,7 +10941,7 @@ if test "${enable_tbarnative+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TOOLBAR_NATIVE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TOOLBAR_NATIVE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -10982,7 +10982,7 @@ if test "${enable_treebook+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TREEBOOK" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TREEBOOK=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11023,7 +11023,7 @@ if test "${enable_toolbook+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TOOLBOOK" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TOOLBOOK=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11064,7 +11064,7 @@ if test "${enable_treectrl+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TREECTRL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TREECTRL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11105,7 +11105,7 @@ if test "${enable_tipwindow+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TIPWINDOW" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TIPWINDOW=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11146,7 +11146,7 @@ if test "${enable_popupwin+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_POPUPWIN" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_POPUPWIN=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11189,7 +11189,7 @@ if test "${enable_commondlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_COMMONDLGS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_COMMONDLGS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11230,7 +11230,7 @@ if test "${enable_aboutdlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_ABOUTDLG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_ABOUTDLG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11271,7 +11271,7 @@ if test "${enable_choicedlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_CHOICEDLG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_CHOICEDLG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11312,7 +11312,7 @@ if test "${enable_coldlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_COLOURDLG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_COLOURDLG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11353,7 +11353,7 @@ if test "${enable_filedlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_FILEDLG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_FILEDLG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11394,7 +11394,7 @@ if test "${enable_finddlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_FINDREPLDLG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_FINDREPLDLG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11435,7 +11435,7 @@ if test "${enable_fontdlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_FONTDLG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_FONTDLG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11476,7 +11476,7 @@ if test "${enable_dirdlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DIRDLG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DIRDLG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11517,7 +11517,7 @@ if test "${enable_msgdlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_MSGDLG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_MSGDLG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11558,7 +11558,7 @@ if test "${enable_numberdlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_NUMBERDLG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_NUMBERDLG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11599,7 +11599,7 @@ if test "${enable_splash+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SPLASH" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SPLASH=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11640,7 +11640,7 @@ if test "${enable_textdlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TEXTDLG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TEXTDLG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11681,7 +11681,7 @@ if test "${enable_tipdlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_STARTUP_TIPS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_STARTUP_TIPS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11722,7 +11722,7 @@ if test "${enable_progressdlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PROGRESSDLG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PROGRESSDLG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11763,7 +11763,7 @@ if test "${enable_wizarddlg+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_WIZARDDLG" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_WIZARDDLG=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11806,7 +11806,7 @@ if test "${enable_menus+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_MENUS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_MENUS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11847,7 +11847,7 @@ if test "${enable_miniframe+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_MINIFRAME" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_MINIFRAME=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11888,7 +11888,7 @@ if test "${enable_tooltips+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TOOLTIPS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TOOLTIPS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11929,7 +11929,7 @@ if test "${enable_splines+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_SPLINES" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_SPLINES=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -11970,7 +11970,7 @@ if test "${enable_mousewheel+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_MOUSEWHEEL" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_MOUSEWHEEL=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12011,7 +12011,7 @@ if test "${enable_validators+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_VALIDATORS" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_VALIDATORS=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12052,7 +12052,7 @@ if test "${enable_busyinfo+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_BUSYINFO" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_BUSYINFO=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12093,7 +12093,7 @@ if test "${enable_joystick+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_JOYSTICK" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_JOYSTICK=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12134,7 +12134,7 @@ if test "${enable_metafile+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_METAFILE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_METAFILE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12175,7 +12175,7 @@ if test "${enable_dragimage+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DRAGIMAGE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DRAGIMAGE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12216,7 +12216,7 @@ if test "${enable_accessibility+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_ACCESSIBILITY" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_ACCESSIBILITY=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12259,7 +12259,7 @@ if test "${enable_dccache+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_DC_CACHEING" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_DC_CACHEING=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12303,7 +12303,7 @@ if test "${enable_palette+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PALETTE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PALETTE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12344,7 +12344,7 @@ if test "${enable_image+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_IMAGE" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_IMAGE=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12385,7 +12385,7 @@ if test "${enable_gif+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_GIF" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_GIF=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12426,7 +12426,7 @@ if test "${enable_pcx+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PCX" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PCX=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12467,7 +12467,7 @@ if test "${enable_tga+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_TGA" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_TGA=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12508,7 +12508,7 @@ if test "${enable_iff+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_IFF" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_IFF=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12549,7 +12549,7 @@ if test "${enable_pnm+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_PNM" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_PNM=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12590,7 +12590,7 @@ if test "${enable_xpm+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_XPM" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_XPM=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12631,7 +12631,7 @@ if test "${enable_ico_cur+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_ICO_CUR" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_ICO_CUR=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -12684,7 +12684,7 @@ if test "${enable_official_build+set}" = set; then
 
 else
 
-                          LINE=`grep "wxUSE_OFFICIAL_BUILD" ${wx_arg_cache_file}`
+                          LINE=`grep "^wxUSE_OFFICIAL_BUILD=" ${wx_arg_cache_file}`
                           if test "x$LINE" != x ; then
                             eval "DEFAULT_$LINE"
                           else
@@ -18126,6 +18126,152 @@ echo "${ECHO_T}$ac_cv_header_sys_select_h" >&6; }
 fi
 
 
+for ac_header in sys/epoll.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## ----------------------------------------- ##
+## Report this to wx-dev@lists.wxwidgets.org ##
+## ----------------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
 { echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; }
 if test "${ac_cv_c_const+set}" = set; then
index 7ce40d8ff76a5658d77a91bf6c7863f8b45abfb7..20396b1c1191dc36e2e1ec0cfce0b50ecde5c1fc 100644 (file)
@@ -1871,6 +1871,9 @@ if test "$USE_UNIX" = 1 ; then
     AC_CHECK_HEADER([sys/select.h],,, [AC_INCLUDES_DEFAULT()])
 fi
 
+dnl defines HAVE_SYS_EPOLL_H - for epoll mainloop implementation in wxbase
+AC_CHECK_HEADERS(sys/epoll.h)
+
 dnl ---------------------------------------------------------------------------
 dnl Checks for compiler characteristics
 dnl ---------------------------------------------------------------------------
index 8c6fdbac05d2a006ef8f07d5880d8f696af95a82..ff1fcb5b43b333c5dbe494299358bb231773a0f1 100644 (file)
@@ -89,6 +89,7 @@ All:
 - Added wxEXEC_BLOCK flag (Hank Schultz)
 - Add support for wxStream-derived classes to wxRTTI (Stas Sergeev)
 - Added wxStreamBuffer::Truncate() (Stas Sergeev)
+- Allow using  wxEventLoop in console applications (Lukasz Michalski)
 
 All (GUI):
 
index 07a9758ad311425d675e3321ae1669c4fc606606..f744a92ecb8450e3928ea7147f2a0d7771846b95 100644 (file)
@@ -25,6 +25,7 @@
 class WXDLLIMPEXP_BASE wxAppConsole;
 class WXDLLIMPEXP_BASE wxAppTraits;
 class WXDLLIMPEXP_BASE wxCmdLineParser;
+class WXDLLIMPEXP_BASE wxEventLoop;
 class WXDLLIMPEXP_BASE wxLog;
 class WXDLLIMPEXP_BASE wxMessageOutput;
 
@@ -86,7 +87,7 @@ public:
 
     // This is the replacement for the normal main(): all program work should
     // be done here. When OnRun() returns, the programs starts shutting down.
-    virtual int OnRun() = 0;
+    virtual int OnRun();
 
     // This is only called if OnInit() returned true so it's a good place to do
     // any cleanup matching the initializations done there.
@@ -170,7 +171,7 @@ public:
     // either should be configurable by the user (then he can change the
     // default behaviour simply by overriding CreateTraits() and returning his
     // own traits object) or which is GUI/console dependent as then wxAppTraits
-    // allows us to abstract the differences behind the common façade
+    // allows us to abstract the differences behind the common fa�de
     wxAppTraits *GetTraits();
 
 
@@ -203,22 +204,62 @@ public:
     virtual void OnUnhandledException() { }
 #endif // wxUSE_EXCEPTIONS
 
+    // event processing functions
+    // --------------------------
+
+    // return true if we're running event loop, i.e. if the events can
+    // (already) be dispatched
+    static bool IsMainLoopRunning()
+    {
+        const wxAppConsole * const app = GetInstance();
+        return app && app->m_mainLoop != NULL;
+    }
+
     // process all events in the wxPendingEvents list -- it is necessary to
     // call this function to process posted events. This happens during each
     // event loop iteration in GUI mode but if there is no main loop, it may be
     // also called directly.
     virtual void ProcessPendingEvents();
 
+    // check if there are pending events on global pending event list
+    bool HasPendingEvents() const;
+
     // doesn't do anything in this class, just a hook for GUI wxApp
     virtual bool Yield(bool WXUNUSED(onlyIfNeeded) = false) { return true; }
 
     // make sure that idle events are sent again
-    virtual void WakeUpIdle() { }
+    virtual void WakeUpIdle();
 
-    // this is just a convenience: by providing its implementation here we
-    // avoid #ifdefs in the code using it
-    static bool IsMainLoopRunning() { return false; }
+        // execute the main GUI loop, the function returns when the loop ends
+    virtual int MainLoop();
+
+        // exit the main GUI loop during the next iteration (i.e. it does not
+        // stop the program immediately!)
+    virtual void ExitMainLoop();
 
+        // returns true if there are unprocessed events in the event queue
+    virtual bool Pending();
+
+        // process the first event in the event queue (blocks until an event
+        // appears if there are none currently, use Pending() if this is not
+        // wanted), returns false if the event loop should stop and true
+        // otherwise
+    virtual bool Dispatch();
+
+        // this virtual function is called  when the application
+        // becomes idle and normally just sends wxIdleEvent to all interested
+        // parties
+        //
+        // it should return true if more idle events are needed, false if not
+    virtual bool ProcessIdle();
+
+#if wxUSE_EXCEPTIONS
+    // Function called if an uncaught exception is caught inside the main
+    // event loop: it may return true to continue running the event loop or
+    // false to stop it (in the latter case it may rethrow the exception as
+    // well)
+    virtual bool OnExceptionInMainLoop();
+#endif // wxUSE_EXCEPTIONS
 
     // debugging support
     // -----------------
@@ -284,6 +325,9 @@ protected:
     // the one and only global application object
     static wxAppConsole *ms_appInstance;
 
+    // create main loop from AppTraits or return NULL if
+    // there is no main loop implementation
+    wxEventLoop *CreateMainLoop();
 
     // application info (must be set from the user code)
     wxString m_vendorName,      // vendor name (ACME Inc)
@@ -294,6 +338,9 @@ protected:
     // by GetTraits() when first needed
     wxAppTraits *m_traits;
 
+    // the main event loop of the application (may be NULL if the loop hasn't
+    // been started yet or has already terminated)
+    wxEventLoop *m_mainLoop;
 
     // the application object is a singleton anyhow, there is no sense in
     // copying it
@@ -347,32 +394,7 @@ public:
     // the worker functions - usually not used directly by the user code
     // -----------------------------------------------------------------
 
-        // return true if we're running main loop, i.e. if the events can
-        // (already) be dispatched
-    static bool IsMainLoopRunning()
-    {
-        wxAppBase *app = wx_static_cast(wxAppBase *, GetInstance());
-        return app && app->m_mainLoop != NULL;
-    }
-
-        // execute the main GUI loop, the function returns when the loop ends
-    virtual int MainLoop();
 
-        // exit the main loop thus terminating the application
-    virtual void Exit();
-
-        // exit the main GUI loop during the next iteration (i.e. it does not
-        // stop the program immediately!)
-    virtual void ExitMainLoop();
-
-        // returns true if there are unprocessed events in the event queue
-    virtual bool Pending();
-
-        // process the first event in the event queue (blocks until an event
-        // appears if there are none currently, use Pending() if this is not
-        // wanted), returns false if the event loop should stop and true
-        // otherwise
-    virtual bool Dispatch();
 
         // process all currently pending events right now
         //
@@ -397,15 +419,6 @@ public:
     virtual bool SendIdleEvents(wxWindow* win, wxIdleEvent& event);
 
 
-#if wxUSE_EXCEPTIONS
-    // Function called if an uncaught exception is caught inside the main
-    // event loop: it may return true to continue running the event loop or
-    // false to stop it (in the latter case it may rethrow the exception as
-    // well)
-    virtual bool OnExceptionInMainLoop();
-#endif // wxUSE_EXCEPTIONS
-
-
     // top level window functions
     // --------------------------
 
@@ -494,10 +507,6 @@ protected:
     virtual wxAppTraits *CreateTraits();
 
 
-    // the main event loop of the application (may be NULL if the loop hasn't
-    // been started yet or has already terminated)
-    wxEventLoop *m_mainLoop;
-
     // the main top level window (may be NULL)
     wxWindow *m_topWindow;
 
@@ -560,8 +569,15 @@ protected:
         #include "wx/os2/app.h"
     #endif
 #else // !GUI
-    // allow using just wxApp (instead of wxAppConsole) in console programs
-    typedef wxAppConsole wxApp;
+    // wxApp is defined in core and we cannot define another one in wxBase,
+    // so we create a different class and typedef it to wxApp instead
+    #if defined(__UNIX__)
+        #include "wx/unix/app.h"
+        class wxApp : public wxAppConsoleUnix { };
+    #else
+        // allow using just wxApp (instead of wxAppConsole) in console programs
+        class wxApp : public wxAppConsole { };
+    #endif
 #endif // GUI/!GUI
 
 // ----------------------------------------------------------------------------
index ac132956f791ddab29e867e2abacef3e338654b7..6d6084e3a1199a95c677c19cd035091d6e2436d6 100644 (file)
@@ -18,6 +18,7 @@
 class WXDLLIMPEXP_BASE wxArrayString;
 class WXDLLIMPEXP_BASE wxObject;
 class WXDLLEXPORT wxAppTraits;
+class WXDLLIMPEXP_BASE wxEventLoop;
 #if wxUSE_FONTMAP
     class WXDLLEXPORT wxFontMapper;
 #endif // wxUSE_FONTMAP
@@ -120,6 +121,9 @@ public:
     virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable() = 0;
 #endif
 
+    // create a new, port specific, instance of the event loop used by wxApp
+    virtual wxEventLoop *CreateEventLoop() = 0;
+
 #if wxUSE_TIMER
     // return platform and toolkit dependent wxTimer implementation
     virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer) = 0;
index 9845acd2653fb6a67d6705f7322ae38b433c12b4..80c0b1f069972b8ec5e00caef0d2bce2d0499184 100644 (file)
@@ -20,10 +20,10 @@ struct wxDFBEvent;
 // wxEventLoop
 // ----------------------------------------------------------------------------
 
-class WXDLLIMPEXP_CORE wxEventLoop : public wxEventLoopManual
+class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopManual
 {
 public:
-    wxEventLoop();
+    wxGUIEventLoop();
 
     virtual bool Pending() const;
     virtual bool Dispatch();
@@ -50,7 +50,7 @@ private:
 private:
     static wxIDirectFBEventBufferPtr ms_buffer;
 
-    DECLARE_NO_COPY_CLASS(wxEventLoop)
+    DECLARE_NO_COPY_CLASS(wxGUIEventLoop)
 };
 
 #endif // _WX_DFB_EVTLOOP_H_
index 6c4e731d5ca33ef20d3e925ae3bb6a357581ed5d..96d2ebbf88ba0e38ba62bb015a593776269cfc12 100644 (file)
@@ -111,8 +111,8 @@ private:
     // are we currently painting some area of this TLW?
     bool m_isPainting;
 
-    friend class wxEventLoop; // for HandleDFBWindowEvent
-    friend class wxWindowDFB; // for SetDfbFocus
+    friend class wxGUIEventLoop; // for HandleDFBWindowEvent
+    friend class wxWindowDFB;    // for SetDfbFocus
 };
 
 #endif // _WX_DFB_NONOWNEDWND_H_
index dc932bc91dc2535003e205d332ced07927c8da60..ed8f827f9ca79d27c0de00638e8b811bc02fafe0 100644 (file)
@@ -2068,6 +2068,8 @@ private:
     DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxContextMenuEvent)
 };
 
+#endif // wxUSE_GUI
+
 // Idle event
 /*
  wxEVT_IDLE
@@ -2087,7 +2089,7 @@ enum wxIdleMode
     wxIDLE_PROCESS_SPECIFIED
 };
 
-class WXDLLIMPEXP_CORE wxIdleEvent : public wxEvent
+class WXDLLIMPEXP_BASE wxIdleEvent : public wxEvent
 {
 public:
     wxIdleEvent()
@@ -2112,9 +2114,6 @@ public:
     // Returns the idle event mode
     static wxIdleMode GetMode() { return sm_idleMode; }
 
-    // Can we send an idle event?
-    static bool CanSend(wxWindow* win);
-
 protected:
     bool m_requestMore;
     static wxIdleMode sm_idleMode;
@@ -2123,8 +2122,6 @@ private:
     DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxIdleEvent)
 };
 
-#endif // wxUSE_GUI
-
 /* TODO
  wxEVT_MOUSE_CAPTURE_CHANGED,
  wxEVT_SETTING_CHANGED, // WM_WININICHANGE (NT) / WM_SETTINGCHANGE (Win95)
index adbb15efa01d128190b5b464f624480ec3878c8d..ff0ee61d3fb8456b88c90f39c447d18ba7f4a240 100644 (file)
 class WXDLLEXPORT wxEventLoop;
 
 // ----------------------------------------------------------------------------
-// wxEventLoop: a GUI event loop
+// wxEventLoopBase: interface for wxEventLoop
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxEventLoopBase
+class WXDLLIMPEXP_BASE wxEventLoopBase
 {
 public:
     // trivial, but needed (because of wxEventLoopBase) ctor
@@ -29,6 +29,10 @@ public:
     // dtor
     virtual ~wxEventLoopBase() { }
 
+    // use this to check whether the event loop was successfully created before
+    // using it
+    virtual bool IsOk() const { return true; }
+
     // start the event loop, return the exit code when it is finished
     virtual int Run() = 0;
 
@@ -53,6 +57,10 @@ public:
     // spawned a nested (e.g. modal) event loop, this would return false
     bool IsRunning() const;
 
+    // implement this to wake up the loop: usually done by posting a dummy event
+    // to it (can be called from non main thread)
+    virtual void WakeUp() = 0;
+
 protected:
     // this function should be called before the event loop terminates, whether
     // this happens normally (because of Exit() call) or abnormally (because of
@@ -66,13 +74,13 @@ protected:
     DECLARE_NO_COPY_CLASS(wxEventLoopBase)
 };
 
-#if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXDFB__)
+#if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXDFB__) || defined(__UNIX__)
 
 // this class can be used to implement a standard event loop logic using
 // Pending() and Dispatch()
 //
 // it also handles idle processing automatically
-class WXDLLEXPORT wxEventLoopManual : public wxEventLoopBase
+class WXDLLIMPEXP_BASE wxEventLoopManual : public wxEventLoopBase
 {
 public:
     wxEventLoopManual();
@@ -86,10 +94,6 @@ public:
     virtual void Exit(int rc = 0);
 
 protected:
-    // implement this to wake up the loop: usually done by posting a dummy event
-    // to it (called from Exit())
-    virtual void WakeUp() = 0;
-
     // may be overridden to perform some action at the start of each new event
     // loop iteration
     virtual void OnNextIteration() { }
@@ -121,28 +125,44 @@ protected:
 
 class WXDLLEXPORT wxEventLoopImpl;
 
-class WXDLLEXPORT wxEventLoop : public wxEventLoopBase
+class WXDLLEXPORT wxGUIEventLoop : public wxEventLoopBase
 {
 public:
-    wxEventLoop() { m_impl = NULL; }
-    virtual ~wxEventLoop();
+    wxGUIEventLoop() { m_impl = NULL; }
+    virtual ~wxGUIEventLoop();
 
     virtual int Run();
     virtual void Exit(int rc = 0);
     virtual bool Pending() const;
     virtual bool Dispatch();
+    virtual void WakeUp() { }
 
 protected:
     // the pointer to the port specific implementation class
     wxEventLoopImpl *m_impl;
 
-    DECLARE_NO_COPY_CLASS(wxEventLoop)
+    DECLARE_NO_COPY_CLASS(wxGUIEventLoop)
 };
 
 #endif // platforms
 
+// also include the header defining wxConsoleEventLoop for Unix systems
+#if defined(__UNIX__)
+    #include "wx/unix/evtloop.h"
+#endif
+
+// cannot use typedef because wxEventLoop is forward-declared in many places
+#if wxUSE_GUI
+class wxEventLoop : public wxGUIEventLoop { };
+#elif defined(__WXMSW__) || defined(__UNIX__)
+class wxEventLoop : public wxConsoleEventLoop { };
+#else // we still must define it somehow for the code below...
+class wxEventLoop : public wxEventLoopBase { };
+#endif
+
 inline bool wxEventLoopBase::IsRunning() const { return GetActive() == this; }
 
+#if wxUSE_GUI
 // ----------------------------------------------------------------------------
 // wxModalEventLoop
 // ----------------------------------------------------------------------------
@@ -151,7 +171,7 @@ inline bool wxEventLoopBase::IsRunning() const { return GetActive() == this; }
 // implement modality, we will surely need platform-specific implementations
 // too, this generic implementation is here only temporarily to see how it
 // works
-class WXDLLEXPORT wxModalEventLoop : public wxEventLoop
+class WXDLLEXPORT wxModalEventLoop : public wxGUIEventLoop
 {
 public:
     wxModalEventLoop(wxWindow *winModal)
@@ -165,13 +185,15 @@ protected:
         delete m_windowDisabler;
         m_windowDisabler = NULL;
 
-        wxEventLoop::OnExit();
+        wxGUIEventLoop::OnExit();
     }
 
 private:
     wxWindowDisabler *m_windowDisabler;
 };
 
+#endif //wxUSE_GUI
+
 // ----------------------------------------------------------------------------
 // wxEventLoopActivator: helper class for wxEventLoop implementations
 // ----------------------------------------------------------------------------
@@ -182,16 +204,16 @@ private:
 class wxEventLoopActivator
 {
 public:
-    wxEventLoopActivator(wxEventLoop *evtLoop)
+    wxEventLoopActivator(wxEventLoopBase *evtLoop)
     {
-        m_evtLoopOld = wxEventLoop::GetActive();
-        wxEventLoop::SetActive(evtLoop);
+        m_evtLoopOld = wxEventLoopBase::GetActive();
+        wxEventLoopBase::SetActive(wx_static_cast(wxEventLoop *, evtLoop));
     }
 
     ~wxEventLoopActivator()
     {
         // restore the previously active event loop
-        wxEventLoop::SetActive(m_evtLoopOld);
+        wxEventLoopBase::SetActive(m_evtLoopOld);
     }
 
 private:
index 7e189ea848a992ee5f06704743ff4816fe7fc774..a30e5b93c41c86ca7a56663b2cfa5d289fd036d7 100644 (file)
@@ -1020,7 +1020,8 @@ private:
         iterator insert(const iterator& it, const_reference v = value_type())\
         {                                                                   \
             Insert(it.m_node, (const_base_reference)v);                     \
-            return iterator(it.m_node->GetPrevious(), GetLast());           \
+            iterator itprev(it);                                            \
+            return itprev--;                                                \
         }                                                                   \
         void insert(const iterator& it, size_type n, const_reference v = value_type())\
         {                                                                   \
index e92b768994a4a9c7f4c87d555c68634179dfebbd..653615a2851c296c6881ea52ab064993b69f6988 100644 (file)
 
 #if wxMAC_USE_RUN_APP_EVENT_LOOP
 
-class WXDLLEXPORT wxEventLoop : public wxEventLoopBase
+class WXDLLEXPORT wxGUIEventLoop : public wxEventLoopBase
 {
 public:
-    wxEventLoop() { m_exitcode = 0; }
+    wxGUIEventLoop() { m_exitcode = 0; }
 
     // implement base class pure virtuals
     virtual int Run();
@@ -46,10 +46,10 @@ private:
 
 #else // manual event loop
 
-class WXDLLEXPORT wxEventLoop : public wxEventLoopManual
+class WXDLLEXPORT wxGUIEventLoop : public wxEventLoopManual
 {
 public:
-    wxEventLoop() { }
+    wxGUIEventLoop() { }
 
     virtual bool Pending() const;
     virtual bool Dispatch();
index 8bee9f9bf743bcb3341f98880f1985e5f9d9843a..09f072e52092b794cb01d008edf47076c8d710b7 100644 (file)
@@ -14,6 +14,7 @@
 
 #include "wx/defs.h"
 #include "X11/Xlib.h"
+#include "wx/evtloop.h"
 
 class WXDLLEXPORT wxFont;
 class WXDLLEXPORT wxWindow;
@@ -185,11 +186,9 @@ wxSize wxDoGetSingleTextCtrlBestSize( Widget textWidget,
 // event-related functions
 // ----------------------------------------------------------------------------
 
-class wxEventLoop;
-
 // executes one main loop iteration (implemented in src/motif/evtloop.cpp)
 // returns true if the loop should be exited
-bool wxDoEventLoopIteration( wxEventLoop& evtLoop );
+bool wxDoEventLoopIteration( wxGUIEventLoop& evtLoop );
 
 // Consume all events until no more left
 void wxFlushEvents(WXDisplay* display);
index ca49b32b65c74d19f8656faafa69cd7f6f080191..6790aaec3f5c29397431baa0e49e0eff9c3ab036 100644 (file)
 class wxConsoleAppTraits : public wxConsoleAppTraitsBase
 {
 public:
+    virtual wxEventLoop *CreateEventLoop() { return NULL; }
+#if wxUSE_TIMER
+    virtual wxTimerImpl *CreateTimerImpl(wxTimer *) { return NULL; }
+#endif // wxUSE_TIMER
 };
 
 #if wxUSE_GUI
@@ -19,7 +23,12 @@ public:
 class wxGUIAppTraits : public wxGUIAppTraitsBase
 {
 public:
+    virtual wxEventLoop *CreateEventLoop();
     virtual wxPortId GetToolkitVersion(int *majVer, int *minVer) const;
+
+#if wxUSE_TIMER
+    virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
+#endif // wxUSE_TIMER
 };
 
 #endif // wxUSE_GUI
index d4d89c0141b1f31ec4e0776685d7ee66d42fe19b..276d4ec0b5a0306a0f67a5c04478df9af281ca6c 100644 (file)
@@ -19,6 +19,7 @@
 class WXDLLIMPEXP_BASE wxConsoleAppTraits : public wxConsoleAppTraitsBase
 {
 public:
+    virtual wxEventLoop *CreateEventLoop();
     virtual void *BeforeChildWaitLoop();
     virtual void AlwaysYield();
     virtual void AfterChildWaitLoop(void *data);
@@ -34,6 +35,7 @@ public:
 class WXDLLIMPEXP_CORE wxGUIAppTraits : public wxGUIAppTraitsBase
 {
 public:
+    virtual wxEventLoop *CreateEventLoop();
     virtual void *BeforeChildWaitLoop();
     virtual void AlwaysYield();
     virtual void AfterChildWaitLoop(void *data);
index cd4e02041bc8d88476a5299bb85ff6cbf18506be..01c9d934d10d1ad83a7adc4c99e1f46969141a67 100644 (file)
 #ifndef _WX_MSW_EVTLOOP_H_
 #define _WX_MSW_EVTLOOP_H_
 
+#if wxUSE_GUI
 #include "wx/window.h"
+#endif
 
 // ----------------------------------------------------------------------------
 // wxEventLoop
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxEventLoop : public wxEventLoopManual
+class WXDLLIMPEXP_BASE wxMSWEventLoopBase : public wxEventLoopManual
 {
 public:
-    wxEventLoop();
+    wxMSWEventLoopBase();
 
     // implement base class pure virtuals
     virtual bool Pending() const;
-    virtual bool Dispatch();
 
-    // MSW-specific methods
-    // --------------------
+protected:
+    // get the next message from queue and return true or return false if we
+    // got WM_QUIT or an error occurred
+    bool GetNextMessage(WXMSG *msg);
+};
+
+#if wxUSE_GUI
+
+class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxMSWEventLoopBase
+{
+public:
+    wxGUIEventLoop() { }
+
+    // process a single message: calls PreProcessMessage() before dispatching
+    // it
+    virtual void ProcessMessage(WXMSG *msg);
 
     // preprocess a message, return true if processed (i.e. no further
     // dispatching required)
     virtual bool PreProcessMessage(WXMSG *msg);
 
-    // process a single message
-    virtual void ProcessMessage(WXMSG *msg);
-
     // set the critical window: this is the window such that all the events
     // except those to this window (and its children) stop to be processed
     // (typical examples: assert or crash report dialog)
@@ -52,11 +64,14 @@ public:
         return !ms_winCritical || IsChildOfCriticalWindow(win);
     }
 
-protected:
     // override/implement base class virtuals
+    virtual bool Dispatch();
     virtual void WakeUp();
+
+protected:
     virtual void OnNextIteration();
 
+private:
     // check if the given window is a child of ms_winCritical (which must be
     // non NULL)
     static bool IsChildOfCriticalWindow(wxWindowMSW *win);
@@ -66,4 +81,21 @@ protected:
     static wxWindowMSW *ms_winCritical;
 };
 
+#else // !wxUSE_GUI
+
+class WXDLLIMPEXP_BASE wxConsoleEventLoop : public wxMSWEventLoopBase
+{
+public:
+    wxConsoleEventLoop() { }
+
+    // override/implement base class virtuals
+    virtual bool Dispatch();
+    virtual void WakeUp();
+
+protected:
+    virtual void OnNextIteration();
+};
+
+#endif // wxUSE_GUI/!wxUSE_GUI
+
 #endif // _WX_MSW_EVTLOOP_H_
index 19b08f34044c3696304a4a0f9e2f59034d41d56a..8473fb38c19357474cc5f7ae7260a20cebb79cf0 100644 (file)
 // wxEventLoop
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxEventLoop : public wxEventLoopBase
+class WXDLLEXPORT wxGUIEventLoop : public wxEventLoopBase
 {
 public:
-    wxEventLoop();
+    wxGUIEventLoop();
 
     // implement base class pure virtuals
     virtual int Run();
diff --git a/include/wx/private/fdiodispatcher.h b/include/wx/private/fdiodispatcher.h
new file mode 100644 (file)
index 0000000..26b5164
--- /dev/null
@@ -0,0 +1,101 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/private/fdiodispatcher.h
+// Purpose:     classes for dispatching IO notifications for file descriptors
+// Authors:     Lukasz Michalski
+// Created:     December 2006
+// Copyright:   (c) Lukasz Michalski
+// RCS-ID:      $Id$
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PRIVATE_FDIODISPATCHER_H_
+#define _WX_PRIVATE_FDIODISPATCHER_H_
+
+#include "wx/hashmap.h"
+
+// handler used to process events on descriptors
+class wxFDIOHandler
+{
+public:
+    // called when descriptor is available for non-blocking read
+    virtual void OnReadWaiting() = 0;
+
+    // called when descriptor is available  for non-blocking write
+    virtual void OnWriteWaiting() = 0;
+
+    // called when there is exception on descriptor
+    virtual void OnExceptionWaiting() = 0;
+
+    // virtual dtor for the base class
+    virtual ~wxFDIOHandler() { }
+};
+
+// those flags describes sets where descriptor should be added
+enum wxFDIODispatcherEntryFlags
+{
+    wxFDIO_INPUT = 1,
+    wxFDIO_OUTPUT = 2,
+    wxFDIO_EXCEPTION = 4,
+    wxFDIO_ALL = wxFDIO_INPUT | wxFDIO_OUTPUT | wxFDIO_EXCEPTION
+};
+
+struct wxFDIOHandlerEntry
+{
+    wxFDIOHandlerEntry()
+    {
+    }
+
+    wxFDIOHandlerEntry(wxFDIOHandler *handler_, int flags_)
+        : handler(handler_),
+          flags(flags_)
+    {
+    }
+
+    wxFDIOHandler *handler;
+    int flags;
+};
+
+// this hash is used to map file descriptors to their handlers
+WX_DECLARE_HASH_MAP(
+  int,
+  wxFDIOHandlerEntry,
+  wxIntegerHash,
+  wxIntegerEqual,
+  wxFDIOHandlerMap
+);
+
+// base class for wxSelectDispatcher and wxEpollDispatcher
+//
+// notice that all pure virtual functions for FD management have implementation
+// in the base class and should be called from the derived classes
+class WXDLLIMPEXP_BASE wxFDIODispatcher
+{
+public:
+    enum { TIMEOUT_INFINITE = -1 };
+
+    // find the handler for the given fd, return NULL if none
+    wxFDIOHandler *FindHandler(int fd) const;
+
+    // register handler for the given descriptor with the dispatcher, return
+    // true on success or false on error
+    virtual bool RegisterFD(int fd, wxFDIOHandler *handler, int flags) = 0;
+
+    // modify descriptor flags or handler, return true on success
+    virtual bool ModifyFD(int fd, wxFDIOHandler *handler, int flags) = 0;
+
+    // unregister descriptor previously registered with RegisterFD(), the
+    // caller is responsible for deleting the returned handler pointer if
+    // necessary
+    virtual wxFDIOHandler *UnregisterFD(int fd, int flags) = 0;
+
+    // loops waiting for an event to happen on any of the descriptors
+    virtual void RunLoop(int timeout) = 0;
+
+    virtual ~wxFDIODispatcher() { }
+
+protected:
+    // the fd -> handler map containing all the registered handlers
+    wxFDIOHandlerMap m_handlers;
+};
+
+#endif // _WX_PRIVATE_FDIODISPATCHER_H_
index 8db89162535099ddc296d889702656d56a465824..135e938d2a8113b88e74cf545341148ac133661c 100644 (file)
@@ -25,14 +25,14 @@ class WXDLLIMPEXP_CORE wxGSocketIOHandler : public wxFDIOHandler
 public:
     wxGSocketIOHandler(GSocket* socket);
     int GetFlags() const;
-    void RemoveFlag(wxSelectDispatcherEntryFlags flag);
-    void AddFlag(wxSelectDispatcherEntryFlags flag);
+    void RemoveFlag(wxFDIODispatcherEntryFlags flag);
+    void AddFlag(wxFDIODispatcherEntryFlags flag);
 
-private:
-    virtual void OnReadWaiting(int fd);
-    virtual void OnWriteWaiting(int fd);
-    virtual void OnExceptionWaiting(int fd);
+    virtual void OnReadWaiting();
+    virtual void OnWriteWaiting();
+    virtual void OnExceptionWaiting();
 
+private:
     GSocket* m_socket;
     int m_flags;
 };
index f174d1461f40789863511acbdb37dec711cb3e4a..cd86e15cd8d4ec234eb7b7428a7e8e15ea7e790a 100644 (file)
@@ -1,8 +1,7 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        wx/private/selectdispatcher.h
 // Purpose:     wxSelectDispatcher class
-// Authors:     Lukasz Michalski
-// Modified by:
+// Authors:     Lukasz Michalski and Vadim Zeitlin
 // Created:     December 2006
 // Copyright:   (c) Lukasz Michalski
 // RCS-ID:      $Id$
 
 #include "wx/defs.h"
 
-#include "wx/hashmap.h"
+#include "wx/private/fdiodispatcher.h"
 
-static const int wxSELECT_TIMEOUT_INFINITE = -1;
-
-// handler used to process events on descriptors
-class wxFDIOHandler
+// helper class storing all the select() fd sets
+class WXDLLIMPEXP_BASE wxSelectSets
 {
 public:
-    // called when descriptor is available for non-blocking read
-    virtual void OnReadWaiting(int fd) = 0;
-
-    // called when descriptor is available  for non-blocking write
-    virtual void OnWriteWaiting(int fd) = 0;
+    // ctor zeroes out all fd_sets
+    wxSelectSets();
 
-    // called when there is exception on descriptor
-    virtual void OnExceptionWaiting(int fd) = 0;
+    // default copy ctor, assignment operator and dtor are ok
 
-    // virtual dtor for the base class
-    virtual ~wxFDIOHandler() { }
-};
-
-// those flags describes sets where descriptor should be added
-enum wxSelectDispatcherEntryFlags
-{
-    wxSelectInput = 1,
-    wxSelectOutput = 2,
-    wxSelectException = 4,
-    wxSelectAll = wxSelectInput | wxSelectOutput | wxSelectException
-};
 
-WX_DECLARE_HASH_MAP(
-  int,
-  wxFDIOHandler*,
-  wxIntegerHash,
-  wxIntegerEqual,
-  wxFDIOHandlerMap
-);
+    // return true if fd appears in any of the sets
+    bool HasFD(int fd) const;
 
-class WXDLLIMPEXP_CORE wxSelectDispatcher
-{
-public:
-    // returns instance of the table
-    static wxSelectDispatcher& Get();
+    // add or remove FD to our sets depending on whether flags contains
+    // wxFDIO_INPUT/OUTPUT/EXCEPTION bits
+    bool SetFD(int fd, int flags);
 
-    virtual ~wxSelectDispatcher()
+    // same as SetFD() except it unsets the bits set in the flags for the given
+    // fd
+    bool ClearFD(int fd, int flags)
     {
+        return SetFD(fd, wxFDIO_ALL & ~flags);
     }
 
-    // register descriptor in sets.
-    void RegisterFD(int fd, wxFDIOHandler* handler, int flags = wxSelectAll);
 
-    // unregister descriptor from sets and return handler for cleanup
-    wxFDIOHandler* UnregisterFD(int fd, int flags = wxSelectAll);
+    // call select() with our sets: the other parameters are the same as for
+    // select() itself
+    int Select(int nfds, struct timeval *tv);
+
+    // call the handler methods corresponding to the sets having this fd
+    void Handle(int fd, wxFDIOHandler& handler) const;
+
+private:
+    typedef void (wxFDIOHandler::*Callback)();
+
+    // the FD sets indices
+    enum
+    {
+        Read,
+        Write,
+        Except,
+        Max
+    };
+
+    // the sets used with select()
+    fd_set m_fds[Max];
+
+    // the wxFDIO_XXX flags, functions and names (used for debug messages only)
+    // corresponding to the FD sets above
+    static int ms_flags[Max];
+    static const char *ms_names[Max];
+    static Callback ms_handlers[Max];
+};
+
+class WXDLLIMPEXP_BASE wxSelectDispatcher : public wxFDIODispatcher
+{
+public:
+    // returns the unique instance of this class, the pointer shouldn't be
+    // deleted and is normally never NULL
+    static wxSelectDispatcher *Get();
 
-    // return handler for descriptor or null if fd is not registered
-    wxFDIOHandler* FindHandler(int fd);
+    // if we have any registered handlers, check for any pending events to them
+    // and dispatch them -- this is used from wxX11 and wxDFB event loops
+    // implementation
+    static void DispatchPending();
 
-    // calls select on registered descriptors and
-    void RunLoop(int timeout = wxSELECT_TIMEOUT_INFINITE);
+    // implement pure virtual methods of the base class
+    virtual bool RegisterFD(int fd, wxFDIOHandler *handler, int flags = wxFDIO_ALL);
+    virtual bool ModifyFD(int fd, wxFDIOHandler *handler, int flags = wxFDIO_ALL);
+    virtual wxFDIOHandler *UnregisterFD(int fd, int flags = wxFDIO_ALL);
+    virtual void RunLoop(int timeout = TIMEOUT_INFINITE);
 
 protected:
-    wxSelectDispatcher() { m_maxFD = -1; }
+    wxSelectDispatcher();
 
 private:
-    void ProcessSets(fd_set* readset, fd_set* writeset, fd_set* exeptset, int max_fd);
+    // common part of RegisterFD() and ModifyFD()
+    bool DoUpdateFDAndHandler(int fd, wxFDIOHandler *handler, int flags);
 
-    fd_set m_readset;
-    fd_set m_writeset;
-    fd_set m_exeptset;
+    // call the handlers for the fds present in the given sets
+    void ProcessSets(const wxSelectSets& sets);
 
-    int m_maxFD;
-    wxFDIOHandlerMap m_handlers;
+    // helper of ProcessSets(): call the handler if its fd is in the set
+    void DoProcessFD(int fd, const fd_set& fds, wxFDIOHandler *handler,
+                     const char *name);
 
-    static wxSelectDispatcher *ms_instance;
 
-    friend class wxSelectDispatcherModule;
+    // the select sets containing all the registered fds
+    wxSelectSets m_sets;
+
+    // the highest registered fd value or -1 if none
+    int m_maxFD;
 };
 
 
diff --git a/include/wx/unix/app.h b/include/wx/unix/app.h
new file mode 100644 (file)
index 0000000..d0dc89a
--- /dev/null
@@ -0,0 +1,54 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/unix/app.h
+// Purpose:     wxAppConsole implementation for Unix
+// Author:      Lukasz Michalski
+// Created:     28/01/2005
+// RCS-ID:      $Id$
+// Copyright:   (c) Lukasz Michalski
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// wxApp subclass implementing event processing for console applications
+class WXDLLIMPEXP_BASE wxAppConsoleUnix : public wxAppConsole
+{
+public:
+    // override base class initialization
+    virtual bool Initialize(int& argc, wxChar** argv);
+
+
+    // Unix-specific: Unix signal handling
+    // -----------------------------------
+
+    // type of the function which can be registered as signal handler: notice
+    // that it isn't really a signal handler, i.e. it's not subject to the
+    // usual signal handlers constraints, because it is called later from
+    // CheckSignal() and not when the signal really occurs
+    typedef void (*SignalHandler)(int);
+
+    // Set signal handler for the given signal, SIG_DFL or SIG_IGN can be used
+    // instead of a function pointer
+    //
+    // Return true if handler was installed, false on error
+    bool SetSignalHandler(int signal, SignalHandler handler);
+
+    // Check if any Unix signals arrived since the last call and execute
+    // handlers for them
+    void CheckSignal();
+
+private:
+    // signal handler set up by SetSignalHandler() for all signals we handle,
+    // it just adds the signal to m_signalsCaught -- the real processing is
+    // done later, when CheckSignal() is called
+    static void HandleSignal(int signal);
+
+
+    // signals for which HandleSignal() had been called (reset from
+    // CheckSignal())
+    sigset_t m_signalsCaught;
+
+    // the signal handlers
+    WX_DECLARE_HASH_MAP(int, SignalHandler, wxIntegerHash, wxIntegerEqual, SignalHandlerHash);
+    SignalHandlerHash m_signalHandlerHash;
+
+    friend class GSocketGUIFunctionsTableBase;
+};
index 5ef349070dc127ec9889eb7a3535d9a73d8f6e2e..aa8a3b0f83d4753efece2d5acd60235ef69dcc8d 100644 (file)
@@ -19,6 +19,7 @@
 class WXDLLEXPORT wxConsoleAppTraits : public wxConsoleAppTraitsBase
 {
 public:
+    virtual wxEventLoop *CreateEventLoop();
     virtual bool CreateEndProcessPipe(wxExecuteData& execData);
     virtual bool IsWriteFDOfEndProcessPipe(wxExecuteData& execData, int fd);
     virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData);
@@ -33,6 +34,7 @@ public:
 class WXDLLEXPORT wxGUIAppTraits : public wxGUIAppTraitsBase
 {
 public:
+    virtual wxEventLoop *CreateEventLoop();
     virtual bool CreateEndProcessPipe(wxExecuteData& execData);
     virtual bool IsWriteFDOfEndProcessPipe(wxExecuteData& execData, int fd);
     virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData);
@@ -46,15 +48,15 @@ public:
 #endif
     virtual wxPortId GetToolkitVersion(int *majVer, int *minVer) const;
 
-#ifdef __WXGTK__
-
-#if wxUSE_INTL
+#if defined(__WXGTK__) && wxUSE_INTL
     virtual void SetLocale();
-#endif
+#endif // __WXGTK__
+
+#ifdef __WXGTK20__
     virtual wxString GetDesktopEnvironment() const;
     virtual wxString GetStandardCmdLineOptions(wxArrayString& names,
                                                wxArrayString& desc) const;
-#endif // __WXGTK__
+#endif // __WXGTK20____
 
 #if defined(__WXDEBUG__) && defined(__WXGTK20__)
     virtual bool ShowAssertDialog(const wxString& msg);
diff --git a/include/wx/unix/evtloop.h b/include/wx/unix/evtloop.h
new file mode 100644 (file)
index 0000000..32fbfff
--- /dev/null
@@ -0,0 +1,71 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/unix/evtloop.h
+// Purpose:     declares wxEventLoop class
+// Author:      Lukasz Michalski (lm@zork.pl)
+// Created:     2007-05-07
+// RCS-ID:      $Id$
+// Copyright:   (c) 2007 Lukasz Michalski
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_UNIX_EVTLOOP_H_
+#define _WX_UNIX_EVTLOOP_H_
+
+#include "wx/private/fdiodispatcher.h"
+#include "wx/unix/private/timer.h"
+#include "wx/unix/pipe.h"
+
+// ----------------------------------------------------------------------------
+// wxEventLoop
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_BASE wxConsoleEventLoop : public wxEventLoopManual
+{
+public:
+    // initialize the event loop, use IsOk() to check if we were successful
+    wxConsoleEventLoop();
+
+    // implement base class pure virtuals
+    virtual bool Pending() const;
+    virtual bool Dispatch();
+    virtual void WakeUp();
+    virtual bool IsOk() const { return m_dispatcher != NULL; }
+
+protected:
+    virtual void OnNextIteration();
+
+private:
+    // pipe used for wake up messages: when a child thread wants to wake up
+    // the event loop in the main thread it writes to this pipe
+    class PipeIOHandler : public wxFDIOHandler
+    {
+    public:
+        // default ctor does nothing, call Create() to really initialize the
+        // object
+        PipeIOHandler() { }
+
+        bool Create();
+
+        // this method can be, and normally is, called from another thread
+        void WakeUp();
+
+        int GetReadFd() { return m_pipe[wxPipe::Read]; }
+
+        // implement wxFDIOHandler pure virtual methods
+        virtual void OnReadWaiting();
+        virtual void OnWriteWaiting() { }
+        virtual void OnExceptionWaiting() { }
+
+    private:
+        wxPipe m_pipe;
+    };
+
+    PipeIOHandler m_wakeupPipe;
+
+    // either wxSelectDispatcher or wxEpollDispatcher
+    wxFDIODispatcher *m_dispatcher;
+
+    DECLARE_NO_COPY_CLASS(wxConsoleEventLoop)
+};
+
+#endif // _WX_UNIX_EVTLOOP_H_
diff --git a/include/wx/unix/private/epolldispatcher.h b/include/wx/unix/private/epolldispatcher.h
new file mode 100644 (file)
index 0000000..0b40794
--- /dev/null
@@ -0,0 +1,47 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/private/epolldispatcher.h
+// Purpose:     wxEpollDispatcher class
+// Authors:     Lukasz Michalski
+// Created:     April 2007
+// Copyright:   (c) Lukasz Michalski
+// RCS-ID:      $Id$
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PRIVATE_EPOLLDISPATCHER_H_
+#define _WX_PRIVATE_EPOLLDISPATCHER_H_
+
+#include "wx/defs.h"
+
+#ifdef HAVE_SYS_EPOLL_H
+
+#include "wx/private/fdiodispatcher.h"
+
+class WXDLLIMPEXP_CORE wxEpollDispatcher : public wxFDIODispatcher
+{
+public:
+    // get pointer to the unique instance of this class, can return NULL if
+    // epoll() is not supported on this system
+    //
+    // do not delete the returned pointer
+    static wxEpollDispatcher *Get();
+
+    // implement base class pure virtual methods
+    virtual bool RegisterFD(int fd, wxFDIOHandler* handler, int flags = wxFDIO_ALL);
+    virtual bool ModifyFD(int fd, wxFDIOHandler* handler, int flags = wxFDIO_ALL);
+    virtual wxFDIOHandler *UnregisterFD(int fd, int flags = wxFDIO_ALL);
+    virtual void RunLoop(int timeout = TIMEOUT_INFINITE);
+
+private:
+    // ctor is private, use Get()
+    wxEpollDispatcher();
+
+    // return true if the object was successfully initialized
+    bool IsOk() const { return m_epollDescriptor != -1; }
+
+    int m_epollDescriptor;
+};
+
+#endif // HAVE_SYS_EPOLL_H
+
+#endif // _WX_PRIVATE_SOCKETEVTDISPATCH_H_
index 14e379d9b57ac9bdac82ca3486043b90336692bb..e1e959289240f7257e17bb6d0235690a53654b63 100644 (file)
 /* Define if you have the <sys/select.h> header file.  */
 #undef HAVE_SYS_SELECT_H
 
+/* Define if you have the <sys/epoll.h> header file.  */
+#undef HAVE_SYS_EPOLL_H
+
 /* Define if fdopen is available.  */
 #undef HAVE_FDOPEN
 
index 7a6e393670661134afdcf45477d5e11cd96c2357..c0ffc1166649210b615f8f30fae93761837342d7 100644 (file)
@@ -41,19 +41,19 @@ private:
 };
 
 // ========================================================================
-// wxEventLoop
+// wxGUIEventLoop
 // ========================================================================
 
 // ----------------------------------------------------------------------------
-// wxEventLoop running and exiting
+// wxGUIEventLoop running and exiting
 // ----------------------------------------------------------------------------
 
-wxEventLoop::~wxEventLoop()
+wxGUIEventLoop::~wxGUIEventLoop()
 {
     wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
 }
 
-int wxEventLoop::Run()
+int wxGUIEventLoop::Run()
 {
     // event loops are not recursive, you need to create another loop!
     wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
@@ -73,7 +73,7 @@ int wxEventLoop::Run()
     return exitcode;
 }
 
-void wxEventLoop::Exit(int rc)
+void wxGUIEventLoop::Exit(int rc)
 {
     wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
 
@@ -101,7 +101,7 @@ void wxEventLoop::Exit(int rc)
 // wxEventLoop message processing dispatching
 // ----------------------------------------------------------------------------
 
-bool wxEventLoop::Pending() const
+bool wxGUIEventLoop::Pending() const
 {
     // a pointer to the event is returned if there is one, or nil if not
     return [[NSApplication sharedApplication]
@@ -111,7 +111,7 @@ bool wxEventLoop::Pending() const
             dequeue: NO];
 }
 
-bool wxEventLoop::Dispatch()
+bool wxGUIEventLoop::Dispatch()
 {
     // This check is required by wxGTK but probably not really for wxCocoa
     // Keep it here to encourage developers to write cross-platform code
index e25ad4e178b39ccd1129317f3f84feb1dd1aa6aa..6586c3f5dc990c28c3c3a806b21bdba0a6835bdc 100644 (file)
 #include "wx/apptrait.h"
 #include "wx/cmdline.h"
 #include "wx/confbase.h"
+#include "wx/evtloop.h"
 #include "wx/filename.h"
 #include "wx/msgout.h"
+#include "wx/ptr_scpd.h"
 #include "wx/tokenzr.h"
 
 #if !defined(__WXMSW__) || defined(__WXMICROWIN__)
@@ -112,6 +114,13 @@ wxAppConsole *wxAppConsole::ms_appInstance = NULL;
 
 wxAppInitializerFunction wxAppConsole::ms_appInitFn = NULL;
 
+// ----------------------------------------------------------------------------
+// wxEventLoopPtr
+// ----------------------------------------------------------------------------
+
+// this defines wxEventLoopPtr
+wxDEFINE_TIED_SCOPED_PTR_TYPE(wxEventLoop)
+
 // ============================================================================
 // wxAppConsole implementation
 // ============================================================================
@@ -123,6 +132,7 @@ wxAppInitializerFunction wxAppConsole::ms_appInitFn = NULL;
 wxAppConsole::wxAppConsole()
 {
     m_traits = NULL;
+    m_mainLoop = NULL;
 
     ms_appInstance = this;
 
@@ -157,6 +167,13 @@ bool wxAppConsole::Initialize(int& argcOrig, wxChar **argvOrig)
     argc = argcOrig;
     argv = argvOrig;
 
+#if wxUSE_THREADS
+    wxPendingEventsLocker = new wxCriticalSection;
+#endif
+
+    //create port specific main loop
+    m_mainLoop = CreateMainLoop();
+
 #ifndef __WXPALMOS__
     if ( m_appName.empty() && argv )
     {
@@ -168,8 +185,20 @@ bool wxAppConsole::Initialize(int& argcOrig, wxChar **argvOrig)
     return true;
 }
 
+wxEventLoop *wxAppConsole::CreateMainLoop()
+{
+    return GetTraits()->CreateEventLoop();
+}
+
 void wxAppConsole::CleanUp()
 {
+    delete wxPendingEvents;
+    wxPendingEvents = NULL;
+
+#if wxUSE_THREADS
+    delete wxPendingEventsLocker;
+    wxPendingEventsLocker = NULL;
+#endif // wxUSE_THREADS
 }
 
 // ----------------------------------------------------------------------------
@@ -206,6 +235,11 @@ bool wxAppConsole::OnInit()
     return true;
 }
 
+int wxAppConsole::OnRun()
+{
+    return MainLoop();
+};
+
 int wxAppConsole::OnExit()
 {
 #if wxUSE_CONFIG
@@ -219,7 +253,10 @@ int wxAppConsole::OnExit()
 
 void wxAppConsole::Exit()
 {
-    exit(-1);
+    if (m_mainLoop != NULL)
+        ExitMainLoop();
+    else
+        exit(-1);
 }
 
 // ----------------------------------------------------------------------------
@@ -248,21 +285,64 @@ wxAppTraits *wxAppConsole::GetTraits()
 // event processing
 // ----------------------------------------------------------------------------
 
-void wxAppConsole::ProcessPendingEvents()
+int wxAppConsole::MainLoop()
 {
-#if wxUSE_THREADS
-    if ( !wxPendingEventsLocker )
-        return;
-#endif
+    wxEventLoopTiedPtr mainLoop(&m_mainLoop, CreateMainLoop());
+
+    return m_mainLoop ? m_mainLoop->Run() : -1;
+}
+
+void wxAppConsole::ExitMainLoop()
+{
+    // we should exit from the main event loop, not just any currently active
+    // (e.g. modal dialog) event loop
+    if ( m_mainLoop && m_mainLoop->IsRunning() )
+    {
+        m_mainLoop->Exit(0);
+    }
+}
 
+bool wxAppConsole::Pending()
+{
+    // use the currently active message loop here, not m_mainLoop, because if
+    // we're showing a modal dialog (with its own event loop) currently the
+    // main event loop is not running anyhow
+    wxEventLoop * const loop = wxEventLoopBase::GetActive();
+
+    return loop && loop->Pending();
+}
+
+bool wxAppConsole::Dispatch()
+{
+    // see comment in Pending()
+    wxEventLoop * const loop = wxEventLoopBase::GetActive();
+
+    return loop && loop->Dispatch();
+}
+
+bool wxAppConsole::HasPendingEvents() const
+{
     // ensure that we're the only thread to modify the pending events list
     wxENTER_CRIT_SECT( *wxPendingEventsLocker );
 
     if ( !wxPendingEvents )
     {
         wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
-        return;
+        return false;
     }
+    wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
+    return true;
+};
+
+void wxAppConsole::ProcessPendingEvents()
+{
+#if wxUSE_THREADS
+    if ( !wxPendingEventsLocker )
+        return;
+#endif
+
+    if ( !HasPendingEvents() )
+        return;
 
     // iterate until the list becomes empty
     wxList::compatibility_iterator node = wxPendingEvents->GetFirst();
@@ -285,6 +365,21 @@ void wxAppConsole::ProcessPendingEvents()
     wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
 }
 
+void wxAppConsole::WakeUpIdle()
+{
+    if ( m_mainLoop )
+        m_mainLoop->WakeUp();
+}
+
+bool wxAppConsole::ProcessIdle()
+{
+    wxIdleEvent event;
+
+    event.SetEventObject(this);
+    ProcessEvent(event);
+    return event.MoreRequested();
+}
+
 int wxAppConsole::FilterEvent(wxEvent& WXUNUSED(event))
 {
     // process the events normally by default
@@ -306,6 +401,25 @@ wxAppConsole::HandleEvent(wxEvtHandler *handler,
     (handler->*func)(event);
 }
 
+// ----------------------------------------------------------------------------
+// exceptions support
+// ----------------------------------------------------------------------------
+
+#if wxUSE_EXCEPTIONS
+
+bool wxAppConsole::OnExceptionInMainLoop()
+{
+    throw;
+
+    // some compilers are too stupid to know that we never return after throw
+#if defined(__DMC__) || (defined(_MSC_VER) && _MSC_VER < 1200)
+    return false;
+#endif
+}
+
+#endif // wxUSE_EXCEPTIONS
+
+
 #endif // wxUSE_EXCEPTIONS
 
 // ----------------------------------------------------------------------------
index e7aa0ea8ce0b558d569e4c983efea7465b0f10a8..f426219329029b8f3ea544879fcad442c43a6c58 100644 (file)
 
 #include "wx/apptrait.h"
 #include "wx/cmdline.h"
-#include "wx/evtloop.h"
 #include "wx/msgout.h"
 #include "wx/thread.h"
 #include "wx/vidmode.h"
-#include "wx/ptr_scpd.h"
 
 #ifdef __WXDEBUG__
     #if wxUSE_STACKWALKER
@@ -63,13 +61,6 @@ WX_CHECK_BUILD_OPTIONS("wxCore")
 
 WXDLLIMPEXP_DATA_CORE(wxList) wxPendingDelete;
 
-// ----------------------------------------------------------------------------
-// wxEventLoopPtr
-// ----------------------------------------------------------------------------
-
-// this defines wxEventLoopPtr
-wxDEFINE_TIED_SCOPED_PTR_TYPE(wxEventLoop)
-
 // ============================================================================
 // wxAppBase implementation
 // ============================================================================
@@ -81,13 +72,11 @@ wxDEFINE_TIED_SCOPED_PTR_TYPE(wxEventLoop)
 wxAppBase::wxAppBase()
 {
     m_topWindow = (wxWindow *)NULL;
-    
+
     m_useBestVisual = false;
     m_forceTrueColour = false;
-    
-    m_isActive = true;
 
-    m_mainLoop = NULL;
+    m_isActive = true;
 
     // We don't want to exit the app if the user code shows a dialog from its
     // OnInit() -- but this is what would happen if we set m_exitOnFrameDelete
@@ -109,10 +98,6 @@ bool wxAppBase::Initialize(int& argcOrig, wxChar **argvOrig)
     if ( !wxAppConsole::Initialize(argcOrig, argvOrig) )
         return false;
 
-#if wxUSE_THREADS
-    wxPendingEventsLocker = new wxCriticalSection;
-#endif
-
     wxInitializeStockLists();
 
     wxBitmap::InitStandardHandlers();
@@ -157,9 +142,6 @@ void wxAppBase::CleanUp()
     wxPendingEvents = NULL;
 
 #if wxUSE_THREADS
-    delete wxPendingEventsLocker;
-    wxPendingEventsLocker = NULL;
-
     #if wxUSE_VALIDATORS
         // If we don't do the following, we get an apparent memory leak.
         ((wxEvtHandler&) wxDefaultValidator).ClearEventLocker();
@@ -298,45 +280,6 @@ bool wxAppBase::OnCmdLineParsed(wxCmdLineParser& parser)
 
 #endif // wxUSE_CMDLINE_PARSER
 
-// ----------------------------------------------------------------------------
-// main event loop implementation
-// ----------------------------------------------------------------------------
-
-int wxAppBase::MainLoop()
-{
-    wxEventLoopTiedPtr mainLoop(&m_mainLoop, new wxEventLoop);
-
-    return m_mainLoop->Run();
-}
-
-void wxAppBase::ExitMainLoop()
-{
-    // we should exit from the main event loop, not just any currently active
-    // (e.g. modal dialog) event loop
-    if ( m_mainLoop && m_mainLoop->IsRunning() )
-    {
-        m_mainLoop->Exit(0);
-    }
-}
-
-bool wxAppBase::Pending()
-{
-    // use the currently active message loop here, not m_mainLoop, because if
-    // we're showing a modal dialog (with its own event loop) currently the
-    // main event loop is not running anyhow
-    wxEventLoop * const loop = wxEventLoop::GetActive();
-
-    return loop && loop->Pending();
-}
-
-bool wxAppBase::Dispatch()
-{
-    // see comment in Pending()
-    wxEventLoop * const loop = wxEventLoop::GetActive();
-
-    return loop && loop->Dispatch();
-}
-
 // ----------------------------------------------------------------------------
 // OnXXX() hooks
 // ----------------------------------------------------------------------------
@@ -361,7 +304,7 @@ int wxAppBase::OnRun()
     }
     //else: it has been changed, assume the user knows what he is doing
 
-    return MainLoop();
+    return wxAppConsole::OnRun();
 }
 
 int wxAppBase::OnExit()
@@ -373,11 +316,6 @@ int wxAppBase::OnExit()
     return wxAppConsole::OnExit();
 }
 
-void wxAppBase::Exit()
-{
-    ExitMainLoop();
-}
-
 wxAppTraits *wxAppBase::CreateTraits()
 {
     return new wxGUIAppTraits;
@@ -439,10 +377,7 @@ bool wxAppBase::ProcessIdle()
         node = node->GetNext();
     }
 
-    event.SetEventObject(this);
-    (void) ProcessEvent(event);
-    if (event.MoreRequested())
-        needMore = true;
+    needMore = wxAppConsole::ProcessIdle();
 
     wxUpdateUIEvent::ResetUpdateTime();
 
@@ -456,7 +391,9 @@ bool wxAppBase::SendIdleEvents(wxWindow* win, wxIdleEvent& event)
 
     win->OnInternalIdle();
 
-    if (wxIdleEvent::CanSend(win))
+    // should we send idle event to this window?
+    if ( wxIdleEvent::GetMode() == wxIDLE_PROCESS_ALL ||
+            win->HasExtraStyle(wxWS_EX_PROCESS_IDLE) )
     {
         event.SetEventObject(win);
         win->GetEventHandler()->ProcessEvent(event);
@@ -498,24 +435,6 @@ void wxAppBase::OnIdle(wxIdleEvent& WXUNUSED(event))
 
 }
 
-// ----------------------------------------------------------------------------
-// exceptions support
-// ----------------------------------------------------------------------------
-
-#if wxUSE_EXCEPTIONS
-
-bool wxAppBase::OnExceptionInMainLoop()
-{
-    throw;
-
-    // some compilers are too stupid to know that we never return after throw
-#if defined(__DMC__) || (defined(_MSC_VER) && _MSC_VER < 1200)
-    return false;
-#endif
-}
-
-#endif // wxUSE_EXCEPTIONS
-
 // ----------------------------------------------------------------------------
 // wxGUIAppTraitsBase
 // ----------------------------------------------------------------------------
index a838cbf10213258790f10af3f145dacc9fef859a..68a17045f205529d022663a0bf2f35c7ed233ef8 100644 (file)
 #if wxUSE_BASE
     IMPLEMENT_DYNAMIC_CLASS(wxEvtHandler, wxObject)
     IMPLEMENT_ABSTRACT_CLASS(wxEvent, wxObject)
+    IMPLEMENT_DYNAMIC_CLASS(wxIdleEvent, wxEvent)
 #endif // wxUSE_BASE
 
 #if wxUSE_GUI
-    IMPLEMENT_DYNAMIC_CLASS(wxIdleEvent, wxEvent)
     IMPLEMENT_DYNAMIC_CLASS(wxCommandEvent, wxEvent)
     IMPLEMENT_DYNAMIC_CLASS(wxNotifyEvent, wxCommandEvent)
     IMPLEMENT_DYNAMIC_CLASS(wxScrollEvent, wxCommandEvent)
@@ -309,6 +309,8 @@ DEFINE_EVENT_TYPE(wxEVT_DETAILED_HELP)
 
 #if wxUSE_BASE
 
+wxIdleMode wxIdleEvent::sm_idleMode = wxIDLE_PROCESS_ALL;
+
 // ============================================================================
 // implementation
 // ============================================================================
@@ -469,25 +471,6 @@ void wxUpdateUIEvent::ResetUpdateTime()
 #endif
 }
 
-/*
- * Idle events
- */
-
-wxIdleMode wxIdleEvent::sm_idleMode = wxIDLE_PROCESS_ALL;
-
-// Can we send an idle event?
-bool wxIdleEvent::CanSend(wxWindow* win)
-{
-    // Don't update if we've switched global updating off
-    // and this window doesn't support updates.
-    if (win &&
-       (GetMode() == wxIDLE_PROCESS_SPECIFIED &&
-       ((win->GetExtraStyle() & wxWS_EX_PROCESS_IDLE) == 0)))
-        return false;
-
-    return true;
-}
-
 /*
  * Scroll events
  */
index 711ada6006e6a85bd01a915140d665171db357a5..ccbbb71126095d4f65a139584497ed9f41e6e6ca 100644 (file)
@@ -37,7 +37,7 @@
 wxEventLoop *wxEventLoopBase::ms_activeLoop = NULL;
 
 // wxEventLoopManual is unused in the other ports
-#if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXDFB__)
+#if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXDFB__) || (defined(__UNIX__) && !wxUSE_GUI)
 
 // ============================================================================
 // wxEventLoopManual implementation
@@ -57,7 +57,7 @@ int wxEventLoopManual::Run()
     // ProcessIdle() and Dispatch() below may throw so the code here should
     // be exception-safe, hence we must use local objects for all actions we
     // should undo
-    wxEventLoopActivator activate(wx_static_cast(wxEventLoop *, this));
+    wxEventLoopActivator activate(this);
 
     // we must ensure that OnExit() is called even if an exception is thrown
     // from inside Dispatch() but we must call it from Exit() in normal
diff --git a/src/common/fdiodispatcher.cpp b/src/common/fdiodispatcher.cpp
new file mode 100644 (file)
index 0000000..20fc9ac
--- /dev/null
@@ -0,0 +1,97 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/common/fdiodispatcher.cpp
+// Purpose:     Implementation of common wxFDIODispatcher methods
+// Author:      Vadim Zeitlin
+// Created:     2007-05-13
+// RCS-ID:      $Id$
+// Copyright:   (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// for compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#endif //WX_PRECOMP
+
+#include "wx/private/fdiodispatcher.h"
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+wxFDIOHandler *wxFDIODispatcher::FindHandler(int fd) const
+{
+    const wxFDIOHandlerMap::const_iterator it = m_handlers.find(fd);
+
+    return it == m_handlers.end() ? NULL : it->second.handler;
+}
+
+
+bool wxFDIODispatcher::RegisterFD(int fd, wxFDIOHandler *handler, int flags)
+{
+    wxUnusedVar(flags);
+
+    wxCHECK_MSG( handler, false, _T("handler can't be NULL") );
+
+    // notice that it's not an error to register a handler for the same fd
+    // twice as it can be done with different flags -- but it is an error to
+    // register different handlers
+    wxFDIOHandlerMap::iterator i = m_handlers.find(fd);
+    if ( i != m_handlers.end() )
+    {
+        wxASSERT_MSG( i->second.handler == handler,
+                        _T("registering different handler for the same fd?") );
+        wxASSERT_MSG( i->second.flags != flags,
+                        _T("reregistering with the same flags?") );
+    }
+
+    m_handlers[fd] = wxFDIOHandlerEntry(handler, flags);
+
+    return true;
+}
+
+bool wxFDIODispatcher::ModifyFD(int fd, wxFDIOHandler *handler, int flags)
+{
+    wxUnusedVar(flags);
+
+    wxCHECK_MSG( handler, false, _T("handler can't be NULL") );
+
+    wxFDIOHandlerMap::iterator i = m_handlers.find(fd);
+    wxCHECK_MSG( i != m_handlers.end(), false,
+                    _T("modifying unregistered handler?") );
+
+    i->second = wxFDIOHandlerEntry(handler, flags);
+
+    return true;
+}
+
+wxFDIOHandler *wxFDIODispatcher::UnregisterFD(int fd, int flags)
+{
+    wxFDIOHandlerMap::iterator i = m_handlers.find(fd);
+    wxCHECK_MSG( i != m_handlers.end(), NULL,
+                    _T("unregistering unregistered handler?") );
+
+    wxFDIOHandler * const handler = i->second.handler;
+    i->second.flags &= ~flags;
+    if ( !i->second.flags )
+    {
+        // this handler is not registered for anything any more, get rid of it
+        m_handlers.erase(i);
+    }
+
+    return handler;
+}
+
index 35fd89640e56916f87bb90588bed38c8231c6ed5..7a8d2badbad4379b53a5f482242be4514143eb40 100644 (file)
@@ -2,7 +2,6 @@
 // Name:        src/common/gsocketiohandler.cpp
 // Purpose:     implementation of wxFDIOHandler for GSocket
 // Author:      Angel Vidal, Lukasz Michalski
-// Modified by:
 // Created:     08.24.06
 // RCS-ID:      $Id$
 // Copyright:   (c) 2006 Angel vidal
 // wxGSocketIOHandler
 // ----------------------------------------------------------------------------
 
-wxGSocketIOHandler::wxGSocketIOHandler(GSocket* socket) 
+wxGSocketIOHandler::wxGSocketIOHandler(GSocket* socket)
                   : m_socket(socket),
                     m_flags(0)
 {
 
-};
+}
 
-void wxGSocketIOHandler::OnReadWaiting(int fd)
+void wxGSocketIOHandler::OnReadWaiting()
 {
     m_socket->Detected_Read();
-};
+}
 
-void wxGSocketIOHandler::OnWriteWaiting(int fd) 
+void wxGSocketIOHandler::OnWriteWaiting()
 {
     m_socket->Detected_Write();
-};
+}
 
-void wxGSocketIOHandler::OnExceptionWaiting(int fd) 
+void wxGSocketIOHandler::OnExceptionWaiting()
 {
     m_socket->Detected_Read();
-};
+}
 
-int wxGSocketIOHandler::GetFlags() const 
+int wxGSocketIOHandler::GetFlags() const
 {
     return m_flags;
-};
+}
 
 
-void wxGSocketIOHandler::RemoveFlag(wxSelectDispatcherEntryFlags flag)
+void wxGSocketIOHandler::RemoveFlag(wxFDIODispatcherEntryFlags flag)
 {
     m_flags &= ~flag;
-};
+}
 
-void wxGSocketIOHandler::AddFlag(wxSelectDispatcherEntryFlags flag)
+void wxGSocketIOHandler::AddFlag(wxFDIODispatcherEntryFlags flag)
 {
     m_flags |= flag;
-};
+}
 
 // ----------------------------------------------------------------------------
 // GSocket interface
@@ -113,11 +112,12 @@ void GSocketGUIFunctionsTableConcrete::Install_Callback(GSocket *socket,
                                                         GSocketEvent event)
 {
   int *m_id = (int *)(socket->m_gui_dependent);
-  int c;
+  const int fd = socket->m_fd;
 
-  if (socket->m_fd == -1)
+  if ( fd == -1 )
     return;
 
+  int c;
   switch (event)
   {
     case GSOCK_LOST:       /* fall-through */
@@ -127,24 +127,29 @@ void GSocketGUIFunctionsTableConcrete::Install_Callback(GSocket *socket,
     default: return;
   }
 
-  wxGSocketIOHandler* handler = (wxGSocketIOHandler*)(wxSelectDispatcher::Get().FindHandler(socket->m_fd));
-  if (handler == NULL)
+  wxSelectDispatcher * const dispatcher = wxSelectDispatcher::Get();
+  if ( !dispatcher )
+      return;
+
+  wxGSocketIOHandler *
+      handler = (wxGSocketIOHandler*)dispatcher->FindHandler(fd);
+  if ( !handler )
   {
       handler = new wxGSocketIOHandler(socket);
-  };
+  }
 
   if (c == 0)
   {
-      m_id[0] = socket->m_fd;
-      handler->AddFlag(wxSelectInput);
+      m_id[0] = fd;
+      handler->AddFlag(wxFDIO_INPUT);
   }
   else
   {
-      m_id[1] = socket->m_fd;
-      handler->AddFlag(wxSelectOutput);
+      m_id[1] = fd;
+      handler->AddFlag(wxFDIO_OUTPUT);
   }
 
-  wxSelectDispatcher::Get().RegisterFD(socket->m_fd,handler,handler->GetFlags());
+  dispatcher->RegisterFD(fd, handler, handler->GetFlags());
 }
 
 void GSocketGUIFunctionsTableConcrete::Uninstall_Callback(GSocket *socket,
@@ -162,26 +167,27 @@ void GSocketGUIFunctionsTableConcrete::Uninstall_Callback(GSocket *socket,
     default: return;
   }
 
-  wxGSocketIOHandler* handler = NULL;
-  if ( m_id[c] != -1 )
+  if ( m_id[c] == -1 )
+      return;
+
+  int fd = m_id[c];
+  m_id[c] = -1;
+
+  const wxFDIODispatcherEntryFlags flag = c == 0 ? wxFDIO_INPUT : wxFDIO_OUTPUT;
+
+  wxSelectDispatcher * const dispatcher = wxSelectDispatcher::Get();
+  if ( !dispatcher )
+      return;
+
+  wxGSocketIOHandler * const
+      handler = (wxGSocketIOHandler*)dispatcher->UnregisterFD(fd, flag);
+  if ( handler )
   {
-      if ( c == 0 )
-      {
-          handler = (wxGSocketIOHandler*)wxSelectDispatcher::Get().UnregisterFD(m_id[c], wxSelectInput);
-          if (handler != NULL)
-              handler->RemoveFlag(wxSelectInput);
-      }
-      else
-      {
-          handler = (wxGSocketIOHandler*)wxSelectDispatcher::Get().UnregisterFD(m_id[c], wxSelectOutput);
-          if (handler != NULL)
-              handler->RemoveFlag(wxSelectOutput);
-      }
-      if (handler && handler->GetFlags() == 0)
+      handler->RemoveFlag(flag);
+
+      if ( !handler->GetFlags() )
           delete handler;
   }
-
-  m_id[c] = -1;
 }
 
 void GSocketGUIFunctionsTableConcrete::Enable_Events(GSocket *socket)
index 5ee2f0242df4bcc4b8f495c78f7edb36a250f84f..4cbb7225bb25af053f9f3ac6478ba979d007d2e0 100644 (file)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        src/common/socketevtdispatch.cpp
+// Name:        src/common/selectdispatcher.cpp
 // Purpose:     implements dispatcher for select() call
-// Author:      Lukasz Michalski
+// Author:      Lukasz Michalski and Vadim Zeitlin
 // Created:     December 2006
 // RCS-ID:      $Id$
 // Copyright:   (c) 2006 Lukasz Michalski
     #include "wx/hash.h"
 #endif
 
-#include <sys/time.h>
-#include <unistd.h>
-
 #ifdef HAVE_SYS_SELECT_H
-#   include <sys/select.h>
+    #include <sys/select.h>
 #endif
 
+#include <errno.h>
+
 #define wxSelectDispatcher_Trace wxT("selectdispatcher")
 
 // ============================================================================
 // ============================================================================
 
 // ----------------------------------------------------------------------------
-// wxSelectDispatcher
+// wxSelectSets
 // ----------------------------------------------------------------------------
 
-wxSelectDispatcher* wxSelectDispatcher::ms_instance = NULL;
+int wxSelectSets::ms_flags[wxSelectSets::Max] =
+{
+    wxFDIO_INPUT,
+    wxFDIO_OUTPUT,
+    wxFDIO_EXCEPTION,
+};
 
-/* static */
-wxSelectDispatcher& wxSelectDispatcher::Get()
+const char *wxSelectSets::ms_names[wxSelectSets::Max] =
 {
-    if ( !ms_instance )
-        ms_instance = new wxSelectDispatcher;
-    return *ms_instance;
-}
+    "input",
+    "output",
+    "exceptional",
+};
 
-void
-wxSelectDispatcher::RegisterFD(int fd, wxFDIOHandler* handler, int flags)
+wxSelectSets::Callback wxSelectSets::ms_handlers[wxSelectSets::Max] =
 {
-    if ((flags & wxSelectInput) == wxSelectInput) 
-    {
-        wxFD_SET(fd, &m_readset);
-        wxLogTrace(wxSelectDispatcher_Trace,wxT("Registered fd %d for input events"),fd);
-    };
+    &wxFDIOHandler::OnReadWaiting,
+    &wxFDIOHandler::OnWriteWaiting,
+    &wxFDIOHandler::OnExceptionWaiting,
+};
 
-    if ((flags & wxSelectOutput) == wxSelectOutput)
+wxSelectSets::wxSelectSets()
+{
+    for ( int n = 0; n < Max; n++ )
     {
-        wxFD_SET(fd, &m_writeset);
-        wxLogTrace(wxSelectDispatcher_Trace,wxT("Registered fd %d for output events"),fd);
+        wxFD_ZERO(&m_fds[n]);
     }
+}
 
-    if ((flags & wxSelectException) == wxSelectException)
+bool wxSelectSets::HasFD(int fd) const
+{
+    for ( int n = 0; n < Max; n++ )
     {
-        wxFD_SET(fd, &m_exeptset);
-        wxLogTrace(wxSelectDispatcher_Trace,wxT("Registered fd %d for exception events"),fd);
-    };
+        if ( wxFD_ISSET(fd, &m_fds[n]) )
+            return true;
+    }
 
-    m_handlers[fd] = handler;
-    if (fd > m_maxFD)
-      m_maxFD = fd;
+    return false;
 }
 
-wxFDIOHandler*
-wxSelectDispatcher::UnregisterFD(int fd, int flags)
+bool wxSelectSets::SetFD(int fd, int flags)
 {
-    // GSocket likes to unregister -1 descriptor
-    if (fd == -1)
-      return NULL;
+    wxCHECK_MSG( fd >= 0, false, _T("invalid descriptor") );
 
-    if ((flags & wxSelectInput) == wxSelectInput)
+    for ( int n = 0; n < Max; n++ )
     {
-        wxLogTrace(wxSelectDispatcher_Trace,wxT("Unregistered fd %d from input events"),fd);
-        wxFD_CLR(fd, &m_readset);
+        if ( flags & ms_flags[n] )
+        {
+            wxFD_SET(fd, &m_fds[n]);
+            wxLogTrace(wxSelectDispatcher_Trace,
+                       _T("Registered fd %d for %s events"), fd, ms_names[n]);
+        }
+        else if ( wxFD_ISSET(fd, &m_fds[n]) )
+        {
+            wxFD_CLR(fd, &m_fds[n]);
+            wxLogTrace(wxSelectDispatcher_Trace,
+                       _T("Unregistered fd %d from %s events"), fd, ms_names[n]);
+        }
     }
 
-    if ((flags & wxSelectOutput) == wxSelectOutput)
-    {
-        wxLogTrace(wxSelectDispatcher_Trace,wxT("Unregistered fd %d from output events"),fd);
-        wxFD_CLR(fd, &m_writeset);
-    }
+    return true;
+}
 
-    if ((flags & wxSelectException) == wxSelectException)
-    {
-        wxLogTrace(wxSelectDispatcher_Trace,wxT("Unregistered fd %d from exeption events"),fd);
-        wxFD_CLR(fd, &m_exeptset);
-    };
+int wxSelectSets::Select(int nfds, struct timeval *tv)
+{
+    return select(nfds, &m_fds[Read], &m_fds[Write], &m_fds[Except], tv);
+}
 
-    wxFDIOHandler* ret = NULL;
-    wxFDIOHandlerMap::const_iterator it = m_handlers.find(fd);
-    if (it != m_handlers.end())
+void wxSelectSets::Handle(int fd, wxFDIOHandler& handler) const
+{
+    for ( int n = 0; n < Max; n++ )
     {
-        ret = it->second;
-        if (!wxFD_ISSET(fd,&m_readset) && !wxFD_ISSET(fd,&m_writeset) && !wxFD_ISSET(fd,&m_exeptset)) 
+        if ( wxFD_ISSET(fd, &m_fds[n]) )
         {
-            m_handlers.erase(it);
-            if ( m_handlers.empty() )
-                m_maxFD = 0;
-        };
-    };
-    return ret;
+            wxLogTrace(wxSelectDispatcher_Trace,
+                       _T("Got %s event on fd %d"), ms_names[n], fd);
+            (handler.*ms_handlers[n])();
+        }
+    }
 }
 
-void wxSelectDispatcher::ProcessSets(fd_set* readset, fd_set* writeset, fd_set* exeptset, int max_fd)
+// ----------------------------------------------------------------------------
+// wxSelectDispatcher
+// ----------------------------------------------------------------------------
+
+static wxSelectDispatcher *gs_selectDispatcher = NULL;
+
+/* static */
+wxSelectDispatcher *wxSelectDispatcher::Get()
 {
-    // it is safe to remove handler from onXXX methods,
-    // if you unregister descriptor first.
-    wxFDIOHandlerMap::const_iterator it = m_handlers.begin();
-    for ( int i = 0; i < max_fd; i++ )
+    if ( !gs_selectDispatcher )
     {
-        wxFDIOHandler* handler = NULL;
-        if (wxFD_ISSET(i, readset)) 
-        {
-            wxLogTrace(wxSelectDispatcher_Trace,wxT("Got read event on fd %d"),i);
-            handler = FindHandler(i);
-            if (handler != NULL && wxFD_ISSET(i,&m_readset))
-                handler->OnReadWaiting(i);
-            else
-            {
-              wxLogError(wxT("Lost fd in read fdset: %d, removing"),i);
-              wxFD_CLR(i,&m_readset);
-            };
-        };
+        // the dispatcher should be only created from one thread so it should
+        // be ok to use a global without any protection here
+        gs_selectDispatcher = new wxSelectDispatcher;
+    }
 
-        if (wxFD_ISSET(i, writeset)) 
-        {
-            wxLogTrace(wxSelectDispatcher_Trace,wxT("Got write event on fd %d"),i);
-            if (handler == NULL)
-                handler = FindHandler(i);
-            if (handler != NULL && wxFD_ISSET(i,&m_writeset))
-                handler->OnWriteWaiting(i);
-            else
-            {
-              wxLogError(wxT("Lost fd in write fdset: %d, removing"),i);
-              wxFD_CLR(i,&m_writeset);
-            };
-        };
+    return gs_selectDispatcher;
+}
+
+/* static */
+void wxSelectDispatcher::DispatchPending()
+{
+    if ( gs_selectDispatcher )
+        gs_selectDispatcher->RunLoop(0);
+}
 
-        if (wxFD_ISSET(i, exeptset))
+wxSelectDispatcher::wxSelectDispatcher()
+{
+    m_maxFD = -1;
+}
+
+bool wxSelectDispatcher::RegisterFD(int fd, wxFDIOHandler *handler, int flags)
+{
+    if ( !wxFDIODispatcher::RegisterFD(fd, handler, flags) )
+        return false;
+
+    if ( !m_sets.SetFD(fd, flags) )
+       return false;
+
+    if ( fd > m_maxFD )
+      m_maxFD = fd;
+
+    return true;
+}
+
+bool wxSelectDispatcher::ModifyFD(int fd, wxFDIOHandler *handler, int flags)
+{
+    if ( !wxFDIODispatcher::ModifyFD(fd, handler, flags) )
+        return false;
+
+    wxASSERT_MSG( fd <= m_maxFD, _T("logic error: registered fd > m_maxFD?") );
+
+    return m_sets.SetFD(fd, flags);
+}
+
+wxFDIOHandler *wxSelectDispatcher::UnregisterFD(int fd, int flags)
+{
+    wxFDIOHandler * const handler = wxFDIODispatcher::UnregisterFD(fd, flags);
+
+    m_sets.ClearFD(fd, flags);
+
+    // remove the handler if we don't need it any more
+    if ( !m_sets.HasFD(fd) )
+    {
+        if ( fd == m_maxFD )
         {
-            wxLogTrace(wxSelectDispatcher_Trace,wxT("Got exception event on fd %d"),i);
-            if (handler == NULL)
-                handler = FindHandler(i);
-            if (handler != NULL && wxFD_ISSET(i,&m_writeset))
-                handler->OnExceptionWaiting(i);
-            else
+            // need to find new max fd
+            m_maxFD = -1;
+            for ( wxFDIOHandlerMap::const_iterator it = m_handlers.begin();
+                  it != m_handlers.end();
+                  ++it )
             {
-              wxLogError(wxT("Lost fd in exept fdset: %d, removing"),i);
-              wxFD_CLR(i,&m_exeptset);
-            };
-        };
-    };
+                if ( it->first > m_maxFD )
+                    m_maxFD = it->first;
+            }
+        }
+    }
+
+    return handler;
 }
 
-wxFDIOHandler* wxSelectDispatcher::FindHandler(int fd)
+void wxSelectDispatcher::ProcessSets(const wxSelectSets& sets)
 {
-    wxFDIOHandlerMap::const_iterator it = m_handlers.find(fd);
-    if (it != m_handlers.end())
-        return it->second;
-    return NULL;
-};
+    for ( int fd = 0; fd <= m_maxFD; fd++ )
+    {
+        if ( !sets.HasFD(fd) )
+            continue;
+
+        wxFDIOHandler * const handler = FindHandler(fd);
+        if ( !handler )
+        {
+            wxFAIL_MSG( _T("NULL handler in wxSelectDispatcher?") );
+            continue;
+        }
+
+        sets.Handle(fd, *handler);
+    }
+}
 
 void wxSelectDispatcher::RunLoop(int timeout)
 {
-    struct timeval tv, *ptv = NULL;
-    if ( timeout != wxSELECT_TIMEOUT_INFINITE )
+    struct timeval tv,
+                  *ptv = NULL;
+    if ( timeout != TIMEOUT_INFINITE )
     {
         ptv = &tv;
         tv.tv_sec = 0;
-        tv.tv_usec = timeout*10;
-    };
+        tv.tv_usec = timeout*1000;
+    }
 
-    int ret;
-    do
+    for ( ;; )
     {
-        fd_set readset = m_readset;
-        fd_set writeset = m_writeset;
-        fd_set exeptset = m_exeptset;
+        wxSelectSets sets = m_sets;
+
         wxStopWatch sw;
         if ( ptv && timeout )
           sw.Start(ptv->tv_usec/10);
-        ret = select(m_maxFD+1, &readset, &writeset, &exeptset, ptv);
+
+        const int ret = sets.Select(m_maxFD + 1, ptv);
         switch ( ret )
         {
-            // TODO: handle unix signals here
             case -1:
-                if ( !timeout )
+                // continue if we were interrupted by a signal, else bail out
+                if ( errno != EINTR )
                 {
-                    // it doesn't make sense to remain here
+                    wxLogSysError(_("Failed to monitor IO channels"));
                     return;
                 }
-
-                if ( ptv )
-                {
-                    ptv->tv_sec = 0;
-                    ptv->tv_usec = timeout - sw.Time()*10;
-                }
                 break;
 
-            // timeout
             case 0:
-                break;
+                // timeout expired without anything happening
+                return;
 
             default:
-                ProcessSets(&readset, &writeset, &exeptset, m_maxFD+1);
-        };
-    } while (ret != 0);
+                ProcessSets(sets);
+        }
+
+        if ( ptv )
+        {
+            timeout -= sw.Time();
+            if ( timeout <= 0 )
+                break;
+
+            ptv->tv_usec = timeout*1000;
+        }
+    }
 }
 
 // ----------------------------------------------------------------------------
 // wxSelectDispatcherModule
 // ----------------------------------------------------------------------------
 
-class wxSelectDispatcherModule: public wxModule
+class wxSelectDispatcherModule : public wxModule
 {
 public:
-    bool OnInit() { wxLog::AddTraceMask(wxSelectDispatcher_Trace); return true; }
-    void OnExit() { wxDELETE(wxSelectDispatcher::ms_instance); }
+    virtual bool OnInit() { return true; }
+    virtual void OnExit() { wxDELETE(gs_selectDispatcher); }
 
 private:
     DECLARE_DYNAMIC_CLASS(wxSelectDispatcherModule)
index 16a348110b1dfea229ebeaecc650f805c5240c1b..7c8f30ea80ad09172fbdb3dc71af4a1b4d527f06 100644 (file)
 // wxEventLoop initialization
 //-----------------------------------------------------------------------------
 
-wxIDirectFBEventBufferPtr wxEventLoop::ms_buffer;
+wxIDirectFBEventBufferPtr wxGUIEventLoop::ms_buffer;
 
-wxEventLoop::wxEventLoop()
+wxGUIEventLoop::wxGUIEventLoop()
 {
     if ( !ms_buffer )
         InitBuffer();
 }
 
 /* static */
-void wxEventLoop::InitBuffer()
+void wxGUIEventLoop::InitBuffer()
 {
     ms_buffer = wxIDirectFB::Get()->CreateEventBuffer();
 }
 
 /* static */
-void wxEventLoop::CleanUp()
+void wxGUIEventLoop::CleanUp()
 {
     ms_buffer.Reset();
 }
 
 /* static */
-wxIDirectFBEventBufferPtr wxEventLoop::GetDirectFBEventBuffer()
+wxIDirectFBEventBufferPtr wxGUIEventLoop::GetDirectFBEventBuffer()
 {
     if ( !ms_buffer )
         InitBuffer();
@@ -74,14 +74,14 @@ wxIDirectFBEventBufferPtr wxEventLoop::GetDirectFBEventBuffer()
 // events dispatch and loop handling
 //-----------------------------------------------------------------------------
 
-bool wxEventLoop::Pending() const
+bool wxGUIEventLoop::Pending() const
 {
     wxCHECK_MSG( ms_buffer, false, _T("invalid event buffer") );
 
     return ms_buffer->HasEvent();
 }
 
-bool wxEventLoop::Dispatch()
+bool wxGUIEventLoop::Dispatch()
 {
     wxCHECK_MSG( ms_buffer, false, _T("invalid event buffer") );
 
@@ -126,14 +126,14 @@ bool wxEventLoop::Dispatch()
     return true;
 }
 
-void wxEventLoop::WakeUp()
+void wxGUIEventLoop::WakeUp()
 {
     wxCHECK_RET( ms_buffer, _T("invalid event buffer") );
 
     ms_buffer->WakeUp();
 }
 
-void wxEventLoop::OnNextIteration()
+void wxGUIEventLoop::OnNextIteration()
 {
 #if wxUSE_TIMER
     wxGenericTimerImpl::NotifyTimers();
@@ -141,11 +141,11 @@ void wxEventLoop::OnNextIteration()
 
 #if wxUSE_SOCKETS
     // handle any pending socket events:
-    wxSelectDispatcher::Get().RunLoop(0);
+    wxSelectDispatcher::DispatchPending();
 #endif
 }
 
-void wxEventLoop::Yield()
+void wxGUIEventLoop::Yield()
 {
     // process all pending events:
     while ( Pending() )
@@ -160,7 +160,7 @@ void wxEventLoop::Yield()
 // DirectFB -> wxWidgets events translation
 //-----------------------------------------------------------------------------
 
-void wxEventLoop::HandleDFBEvent(const wxDFBEvent& event)
+void wxGUIEventLoop::HandleDFBEvent(const wxDFBEvent& event)
 {
     switch ( event.GetClass() )
     {
index 87700dbbb979cb830f408e6d4a196d0d9d679c20..78240916a9dda1657a3aaa36b47f0be2abe3f9d5 100644 (file)
@@ -16,6 +16,7 @@
 #endif
 
 #include "wx/utils.h"
+#include "wx/evtloop.h"
 #include "wx/apptrait.h"
 #include "wx/unix/execute.h"
 
@@ -38,6 +39,11 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
     return wxPORT_DFB;
 }
 
+
+wxEventLoop* wxGUIAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop;
+};
 // ----------------------------------------------------------------------------
 // display characteristics
 // ----------------------------------------------------------------------------
index 425aac9ae91cc37c1823a10c9bc5d93e33035a2b..63c13c0c98e22210d5ad4fb0ea1430c9a4dd1fdf 100644 (file)
@@ -135,7 +135,7 @@ int wxDialog::ShowModal()
     // NOTE: gtk_window_set_modal internally calls gtk_grab_add() !
     gtk_window_set_modal(GTK_WINDOW(m_widget), TRUE);
 
-    wxEventLoop().Run();
+    wxGUIEventLoop().Run();
 
     gtk_window_set_modal(GTK_WINDOW(m_widget), FALSE);
 
index 25806a312c11d5afff4c7460a447b007c7859167..9cfac6466afdc74e79f2a411b4ae847fe8590140 100644 (file)
@@ -62,12 +62,12 @@ wxDEFINE_TIED_SCOPED_PTR_TYPE(wxEventLoopImpl)
 // wxEventLoop running and exiting
 // ----------------------------------------------------------------------------
 
-wxEventLoop::~wxEventLoop()
+wxGUIEventLoop::~wxGUIEventLoop()
 {
     wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
 }
 
-int wxEventLoop::Run()
+int wxGUIEventLoop::Run()
 {
     // event loops are not recursive, you need to create another loop!
     wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
@@ -83,7 +83,7 @@ int wxEventLoop::Run()
     return m_impl->GetExitCode();
 }
 
-void wxEventLoop::Exit(int rc)
+void wxGUIEventLoop::Exit(int rc)
 {
     wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
 
@@ -96,7 +96,7 @@ void wxEventLoop::Exit(int rc)
 // wxEventLoop message processing dispatching
 // ----------------------------------------------------------------------------
 
-bool wxEventLoop::Pending() const
+bool wxGUIEventLoop::Pending() const
 {
     bool pending;
     wxApp* app = wxTheApp;
@@ -108,7 +108,7 @@ bool wxEventLoop::Pending() const
     return pending;
 }
 
-bool wxEventLoop::Dispatch()
+bool wxGUIEventLoop::Dispatch()
 {
     wxCHECK_MSG( IsRunning(), false, _T("can't call Dispatch() if not running") );
 
index e7928601176762d4e7d4fb46ab6181a9f7a0c0a7..77e2dd60833dd477715cdf7582ca9001fc5fc4a8 100644 (file)
@@ -1173,7 +1173,7 @@ void wxTopLevelWindowGTK::AddGrab()
     {
         m_grabbed = true;
         gtk_grab_add( m_widget );
-        wxEventLoop().Run();
+        wxGUIEventLoop().Run();
         gtk_grab_remove( m_widget );
     }
 }
index 617a497427352fc3af1d7fa5407193cf737693e4..7f0a931e38c12030450b82a2280977f4dae3d84a 100644 (file)
@@ -26,6 +26,7 @@
 #include "wx/unix/execute.h"
 
 #include "wx/gtk/private/timer.h"
+#include "wx/evtloop.h"
 
 #ifdef __WXDEBUG__
     #include "wx/gtk/assertdlg_gtk.h"
@@ -363,6 +364,12 @@ static wxString GetSM()
 // wxGUIAppTraits
 //-----------------------------------------------------------------------------
 
+wxEventLoop *wxGUIAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop();
+}
+
+
 #if wxUSE_INTL
 void wxGUIAppTraits::SetLocale()
 {
index 8f5dfb1341fe25941fe656df62722f881095874e..4364bb312215fd316a80f3d6d39a058c36cbfef5 100644 (file)
@@ -52,19 +52,19 @@ private:
 };
 
 // ============================================================================
-// wxEventLoop implementation
+// wxGUIEventLoop implementation
 // ============================================================================
 
 // ----------------------------------------------------------------------------
-// wxEventLoop running and exiting
+// wxGUIEventLoop running and exiting
 // ----------------------------------------------------------------------------
 
-wxEventLoop::~wxEventLoop()
+wxGUIEventLoop::~wxGUIEventLoop()
 {
     wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
 }
 
-int wxEventLoop::Run()
+int wxGUIEventLoop::Run()
 {
     // event loops are not recursive, you need to create another loop!
     wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
@@ -84,7 +84,7 @@ int wxEventLoop::Run()
     return exitcode;
 }
 
-void wxEventLoop::Exit(int rc)
+void wxGUIEventLoop::Exit(int rc)
 {
     wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
 
@@ -97,7 +97,7 @@ void wxEventLoop::Exit(int rc)
 // wxEventLoop message processing dispatching
 // ----------------------------------------------------------------------------
 
-bool wxEventLoop::Pending() const
+bool wxGUIEventLoop::Pending() const
 {
     if (wxTheApp)
     {
@@ -109,7 +109,7 @@ bool wxEventLoop::Pending() const
     return gtk_events_pending();
 }
 
-bool wxEventLoop::Dispatch()
+bool wxGUIEventLoop::Dispatch()
 {
     wxCHECK_MSG( IsRunning(), false, _T("can't call Dispatch() if not running") );
 
index 3aa1d8b457457137230fa7445b1586f4c74bfd7e..8e8b604bdac9b34cf1b541570ee05df8e0212ece 100644 (file)
@@ -20,6 +20,7 @@
 
 #include "wx/apptrait.h"
 #include "wx/gtk1/private/timer.h"
+#include "wx/evtloop.h"
 #include "wx/process.h"
 
 #include "wx/unix/execute.h"
@@ -202,9 +203,9 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
     return wxPORT_GTK;
 }
 
-wxString wxGUIAppTraits::GetDesktopEnvironment() const
+wxEventLoop* wxGUIAppTraits::CreateEventLoop()
 {
-    return wxEmptyString;
+    return new wxEventLoop;
 }
 
 #if wxUSE_INTL
index 0d1ba9532e52c717a615accd40ee577c9186e582..681564bffae0dc11a557cabcc089e382962fc8b1 100644 (file)
@@ -45,7 +45,7 @@
 
 #if wxMAC_USE_RUN_APP_EVENT_LOOP
 
-int wxEventLoop::Run()
+int wxGUIEventLoop::Run()
 {
     wxEventLoopActivator activate(this);
 
@@ -54,7 +54,7 @@ int wxEventLoop::Run()
     return m_exitcode;
 }
 
-void wxEventLoop::Exit(int rc)
+void wxGUIEventLoop::Exit(int rc)
 {
     m_exitcode = rc;
 
@@ -69,7 +69,7 @@ void wxEventLoop::Exit(int rc)
 // functions only used by wxEventLoopManual-based implementation
 // ----------------------------------------------------------------------------
 
-void wxEventLoop::WakeUp()
+void wxGUIEventLoop::WakeUp()
 {
     extern void wxMacWakeUp();
 
@@ -82,7 +82,7 @@ void wxEventLoop::WakeUp()
 // low level functions used in both cases
 // ----------------------------------------------------------------------------
 
-bool wxEventLoop::Pending() const
+bool wxGUIEventLoop::Pending() const
 {
     EventRef theEvent;
 
@@ -96,7 +96,7 @@ bool wxEventLoop::Pending() const
            ) == noErr;
 }
 
-bool wxEventLoop::Dispatch()
+bool wxGUIEventLoop::Dispatch()
 {
     // TODO: we probably should do the dispatching directly from here but for
     //       now it's easier to forward to wxApp which has all the code to do
index 39597ec4eb347749c1af670749dfa3bb9def82c5..696fe6e94ec6f5157c6208c5c248f3215ec24ef7 100644 (file)
@@ -61,6 +61,7 @@
 #include "wx/mac/private/timer.h"
 #endif // wxUSE_GUI
 
+#include "wx/evtloop.h"
 #include "wx/mac/private.h"
 
 #if defined(__MWERKS__) && wxUSE_UNICODE
@@ -380,6 +381,11 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
     return wxPORT_MAC;
 }
 
+wxEventLoop* wxGUIAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop;
+}
+
 wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
 {
     return new wxCarbonTimerImpl(timer);
index 7ec1cb6030a0d73e056d426007369dbc69933299..06ab0b335dd0d634960c1d9c054254987fbea740 100644 (file)
@@ -1237,7 +1237,7 @@ void wxDC::DoGetTextExtent(const wxString& string, wxCoord *x, wxCoord *y,
     if ( x )
         // VS: YDEV is corrent, it should *not* be XDEV, because font's are
         //     only scaled according to m_scaleY
-        *x = YDEV2LOGREL(m_MGLDC->textWidth(string.c_str()));
+        *x = YDEV2LOGREL(m_MGLDC->textWidth(string.wc_str()));
     if ( y )
         *y = YDEV2LOGREL(m_MGLDC->textHeight());
     if ( descent )
index 8135bf6a5d68296e578c7a865f924756aa976351..ff5d985cceac03ccc4cc51bd84d362982585d3a9 100644 (file)
@@ -26,6 +26,8 @@
 #endif //WX_PRECOMP
 
 #include "wx/evtloop.h"
+
+#include "wx/generic/private/timer.h"
 #include "wx/mgl/private.h"
 
 // ----------------------------------------------------------------------------
@@ -79,9 +81,10 @@ void wxEventLoopImpl::Dispatch()
     for (;;)
     {
 #if wxUSE_TIMER
-        wxTimer::NotifyTimers();
-        MGL_wmUpdateDC(g_winMng);
+        wxGenericTimerImpl::NotifyTimers();
 #endif
+        MGL_wmUpdateDC(g_winMng);
+
         EVT_pollJoystick();
         if ( EVT_getNext(&evt, EVT_EVERYEVT) ) break;
         PM_sleep(10);
@@ -97,19 +100,19 @@ bool wxEventLoopImpl::SendIdleEvent()
 }
 
 // ============================================================================
-// wxEventLoop implementation
+// wxGUIEventLoop implementation
 // ============================================================================
 
 // ----------------------------------------------------------------------------
-// wxEventLoop running and exiting
+// wxGUIEventLoop running and exiting
 // ----------------------------------------------------------------------------
 
-wxEventLoop::~wxEventLoop()
+wxGUIEventLoop::~wxGUIEventLoop()
 {
     wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
 }
 
-int wxEventLoop::Run()
+int wxGUIEventLoop::Run()
 {
     // event loops are not recursive, you need to create another loop!
     wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
@@ -146,7 +149,7 @@ int wxEventLoop::Run()
     return exitcode;
 }
 
-void wxEventLoop::Exit(int rc)
+void wxGUIEventLoop::Exit(int rc)
 {
     wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
 
@@ -162,7 +165,7 @@ void wxEventLoop::Exit(int rc)
 // wxEventLoop message processing dispatching
 // ----------------------------------------------------------------------------
 
-bool wxEventLoop::Pending() const
+bool wxGUIEventLoop::Pending() const
 {
     // update the display here, so that wxYield refreshes display and
     // changes take effect immediately, not after emptying events queue:
@@ -173,10 +176,11 @@ bool wxEventLoop::Pending() const
     return (bool)(EVT_peekNext(&evt, EVT_EVERYEVT));
 }
 
-bool wxEventLoop::Dispatch()
+bool wxGUIEventLoop::Dispatch()
 {
     wxCHECK_MSG( IsRunning(), false, _T("can't call Dispatch() if not running") );
 
     m_impl->Dispatch();
     return m_impl->GetKeepLooping();
 }
+
index b62f4b02ec986073988b3efe54c13ebaa6dd1199..4a3045cef110d3337f2044ad4125c9c9b4415444 100644 (file)
@@ -24,6 +24,7 @@
 
 #include "wx/apptrait.h"
 #include "wx/process.h"
+#include "wx/evtloop.h"
 
 #include <stdarg.h>
 #include <string.h>
@@ -122,6 +123,12 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
     return wxPORT_MGL;
 }
 
+wxEventLoop* wxGUIAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop;
+}
+
+
 void wxGetMousePosition(int* x, int* y)
 {
     MS_getPos(x, y);
index 9ed21e2ada25f42608dd81fc9644b7e2a18e79fa..a3e4b54dea2d4be32079ced6dee6041d01c30ee9 100644 (file)
@@ -101,12 +101,12 @@ bool wxEventLoopImpl::SendIdleMessage()
 // wxEventLoop running and exiting
 // ----------------------------------------------------------------------------
 
-wxEventLoop::~wxEventLoop()
+wxGUIEventLoop::~wxGUIEventLoop()
 {
     wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
 }
 
-int wxEventLoop::Run()
+int wxGUIEventLoop::Run()
 {
     // event loops are not recursive, you need to create another loop!
     wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
@@ -131,7 +131,7 @@ int wxEventLoop::Run()
     return exitcode;
 }
 
-void wxEventLoop::Exit(int rc)
+void wxGUIEventLoop::Exit(int rc)
 {
     wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
 
@@ -145,12 +145,12 @@ void wxEventLoop::Exit(int rc)
 // wxEventLoop message processing dispatching
 // ----------------------------------------------------------------------------
 
-bool wxEventLoop::Pending() const
+bool wxGUIEventLoop::Pending() const
 {
     return XtAppPending( (XtAppContext)wxTheApp->GetAppContext() ) != 0;
 }
 
-bool wxEventLoop::Dispatch()
+bool wxGUIEventLoop::Dispatch()
 {
     XEvent event;
     XtAppContext context = (XtAppContext)wxTheApp->GetAppContext();
@@ -338,7 +338,7 @@ bool CheckForKeyUp(XEvent* event)
 // executes one main loop iteration (declared in include/wx/motif/private.h)
 // ----------------------------------------------------------------------------
 
-bool wxDoEventLoopIteration( wxEventLoop& evtLoop )
+bool wxDoEventLoopIteration( wxGUIEventLoop& evtLoop )
 {
     bool moreRequested, pendingEvents;
 
index f43c5b0349e3eb19502960138d88b7122e325a8d..e6309b2e51992f64fbda84131a8b43d691cbfc09 100644 (file)
@@ -136,6 +136,11 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
     return wxPORT_MOTIF;
 }
 
+wxEventLoop* wxGUIAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop;
+}
+
 wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer* timer)
 {
     return new wxMotifTimerImpl(timer);
index 73c1967327fbb523e04f565cd6437992126cfa3a..549a8d77daf34554abcc1ead56fdfbae257d4a44 100644 (file)
@@ -266,10 +266,14 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *majVer, int *minVer) const
 #endif
 }
 
-wxTimerImpl *
-wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
+wxTimerImpl *wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
 {
-  return new wxMSWTimerImpl(timer);
+    return new wxMSWTimerImpl(timer);
+}
+
+wxEventLoop* wxGUIAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop;
 }
 
 // ===========================================================================
index e033e2be88acbbf90c0b5e219df14b3a642db005..1989549dc18bc594d4b77649e04d37fdbab4f4ed 100644 (file)
@@ -28,6 +28,7 @@
 #endif //WX_PRECOMP
 
 #include "wx/apptrait.h"
+#include "wx/evtloop.h"
 #include "wx/msw/private/timer.h"
 // MBN: this is a workaround for MSVC 5: if it is not #included in
 // some wxBase file, wxRecursionGuard methods won't be exported from
@@ -81,12 +82,15 @@ bool wxConsoleAppTraits::DoMessageFromThreadWait()
     return true;
 }
 
-wxTimerImpl *
-wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
+wxTimerImpl *wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
 {
     return new wxMSWTimerImpl(timer);
 }
 
+wxEventLoop *wxConsoleAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop();
+}
 
 WXDWORD wxConsoleAppTraits::WaitForThread(WXHANDLE hThread)
 {
diff --git a/src/msw/evtloopmsw.cpp b/src/msw/evtloopmsw.cpp
new file mode 100644 (file)
index 0000000..4449a77
--- /dev/null
@@ -0,0 +1,341 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        msw/evtloop.cpp
+// Purpose:     implements wxEventLoop for MSW
+// Author:      Vadim Zeitlin
+// Modified by:
+// Created:     01.06.01
+// RCS-ID:      $Id$
+// Copyright:   (c) 2001 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
+// License:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+    #if wxUSE_GUI
+        #include "wx/window.h"
+    #endif
+    #include "wx/app.h"
+#endif //WX_PRECOMP
+
+#include "wx/evtloop.h"
+
+
+#include "wx/except.h"
+#include "wx/ptr_scpd.h"
+
+#include "wx/msw/private.h"
+
+#if wxUSE_GUI
+    #include "wx/tooltip.h"
+    #if wxUSE_THREADS
+        #include "wx/thread.h"
+
+        // define the list of MSG strutures
+        WX_DECLARE_LIST(MSG, wxMsgList);
+
+        #include "wx/listimpl.cpp"
+
+        WX_DEFINE_LIST(wxMsgList)
+    #endif // wxUSE_THREADS
+#endif //wxUSE_GUI
+
+#if wxUSE_BASE
+
+// ============================================================================
+// wxMSWEventLoopBase implementation
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// ctor/dtor
+// ----------------------------------------------------------------------------
+
+wxMSWEventLoopBase::wxMSWEventLoopBase()
+{
+    m_shouldExit = false;
+    m_exitcode = 0;
+}
+
+// ----------------------------------------------------------------------------
+// wxEventLoop message processing dispatching
+// ----------------------------------------------------------------------------
+
+bool wxMSWEventLoopBase::Pending() const
+{
+    MSG msg;
+    return ::PeekMessage(&msg, 0, 0, 0, PM_NOREMOVE) != 0;
+}
+
+bool wxMSWEventLoopBase::GetNextMessage(WXMSG* msg)
+{
+    wxCHECK_MSG( IsRunning(), false, _T("can't get messages if not running") );
+
+    const BOOL rc = ::GetMessage(msg, NULL, 0, 0);
+
+    if ( rc == 0 )
+    {
+        // got WM_QUIT
+        return false;
+    }
+
+    if ( rc == -1 )
+    {
+        // should never happen, but let's test for it nevertheless
+        wxLogLastError(wxT("GetMessage"));
+
+        // still break from the loop
+        return false;
+    }
+
+    return true;
+}
+
+#endif // wxUSE_BASE
+
+#if wxUSE_GUI
+
+// ============================================================================
+// GUI wxEventLoop implementation
+// ============================================================================
+
+wxWindowMSW *wxGUIEventLoop::ms_winCritical = NULL;
+
+bool wxGUIEventLoop::IsChildOfCriticalWindow(wxWindowMSW *win)
+{
+    while ( win )
+    {
+        if ( win == ms_winCritical )
+            return true;
+
+        win = win->GetParent();
+    }
+
+    return false;
+}
+
+bool wxGUIEventLoop::PreProcessMessage(WXMSG *msg)
+{
+    HWND hwnd = msg->hwnd;
+    wxWindow *wndThis = wxGetWindowFromHWND((WXHWND)hwnd);
+    wxWindow *wnd;
+
+    // this might happen if we're in a modeless dialog, or if a wx control has
+    // children which themselves were not created by wx (i.e. wxActiveX control children)
+    if ( !wndThis )
+    {
+        while ( hwnd && (::GetWindowLong(hwnd, GWL_STYLE) & WS_CHILD ))
+        {
+            hwnd = ::GetParent(hwnd);
+
+            // If the control has a wx parent, break and give the parent a chance
+            // to process the window message
+            wndThis = wxGetWindowFromHWND((WXHWND)hwnd);
+            if (wndThis != NULL)
+                break;
+        }
+
+        if ( !wndThis )
+        {
+            // this may happen if the event occurred in a standard modeless dialog (the
+            // only example of which I know of is the find/replace dialog) - then call
+            // IsDialogMessage() to make TAB navigation in it work
+
+            // NOTE: IsDialogMessage() just eats all the messages (i.e. returns true for
+            // them) if we call it for the control itself
+            return hwnd && ::IsDialogMessage(hwnd, msg) != 0;
+        }
+    }
+
+    if ( !AllowProcessing(wndThis) )
+    {
+        // not a child of critical window, so we eat the event but take care to
+        // stop an endless stream of WM_PAINTs which would have resulted if we
+        // didn't validate the invalidated part of the window
+        if ( msg->message == WM_PAINT )
+            ::ValidateRect(hwnd, NULL);
+
+        return true;
+    }
+
+#if wxUSE_TOOLTIPS
+    // we must relay WM_MOUSEMOVE events to the tooltip ctrl if we want it to
+    // popup the tooltip bubbles
+    if ( msg->message == WM_MOUSEMOVE )
+    {
+        // we should do it if one of window children has an associated tooltip
+        // (and not just if the window has a tooltip itself)
+        if ( wndThis->HasToolTips() )
+            wxToolTip::RelayEvent((WXMSG *)msg);
+    }
+#endif // wxUSE_TOOLTIPS
+
+    // allow the window to prevent certain messages from being
+    // translated/processed (this is currently used by wxTextCtrl to always
+    // grab Ctrl-C/V/X, even if they are also accelerators in some parent)
+    if ( !wndThis->MSWShouldPreProcessMessage((WXMSG *)msg) )
+    {
+        return false;
+    }
+
+    // try translations first: the accelerators override everything
+    for ( wnd = wndThis; wnd; wnd = wnd->GetParent() )
+    {
+        if ( wnd->MSWTranslateMessage((WXMSG *)msg))
+            return true;
+
+        // stop at first top level window, i.e. don't try to process the key
+        // strokes originating in a dialog using the accelerators of the parent
+        // frame - this doesn't make much sense
+        if ( wnd->IsTopLevel() )
+            break;
+    }
+
+    // now try the other hooks (kbd navigation is handled here)
+    for ( wnd = wndThis; wnd; wnd = wnd->GetParent() )
+    {
+        if ( wnd->MSWProcessMessage((WXMSG *)msg) )
+            return true;
+
+        // also stop at first top level window here, just as above because
+        // if we don't do this, pressing ESC on a modal dialog shown as child
+        // of a modal dialog with wxID_CANCEL will cause the parent dialog to
+        // be closed, for example
+        if ( wnd->IsTopLevel() )
+            break;
+    }
+
+    // no special preprocessing for this message, dispatch it normally
+    return false;
+}
+
+void wxGUIEventLoop::ProcessMessage(WXMSG *msg)
+{
+    // give us the chance to preprocess the message first
+    if ( !PreProcessMessage(msg) )
+    {
+        // if it wasn't done, dispatch it to the corresponding window
+        ::TranslateMessage(msg);
+        ::DispatchMessage(msg);
+    }
+}
+
+bool wxGUIEventLoop::Dispatch()
+{
+    MSG msg;
+    if ( !GetNextMessage(&msg) )
+        return false;
+
+#if wxUSE_THREADS
+    wxASSERT_MSG( wxThread::IsMain(),
+                  wxT("only the main thread can process Windows messages") );
+
+    static bool s_hadGuiLock = true;
+    static wxMsgList s_aSavedMessages;
+
+    // if a secondary thread owning the mutex is doing GUI calls, save all
+    // messages for later processing - we can't process them right now because
+    // it will lead to recursive library calls (and we're not reentrant)
+    if ( !wxGuiOwnedByMainThread() )
+    {
+        s_hadGuiLock = false;
+
+        // leave out WM_COMMAND messages: too dangerous, sometimes
+        // the message will be processed twice
+        if ( !wxIsWaitingForThread() || msg.message != WM_COMMAND )
+        {
+            MSG* pMsg = new MSG(msg);
+            s_aSavedMessages.Append(pMsg);
+        }
+
+        return true;
+    }
+    else
+    {
+        // have we just regained the GUI lock? if so, post all of the saved
+        // messages
+        //
+        // FIXME of course, it's not _exactly_ the same as processing the
+        //       messages normally - expect some things to break...
+        if ( !s_hadGuiLock )
+        {
+            s_hadGuiLock = true;
+
+            wxMsgList::compatibility_iterator node = s_aSavedMessages.GetFirst();
+            while (node)
+            {
+                MSG* pMsg = node->GetData();
+                s_aSavedMessages.Erase(node);
+
+                ProcessMessage(pMsg);
+                delete pMsg;
+
+                node = s_aSavedMessages.GetFirst();
+            }
+        }
+    }
+#endif // wxUSE_THREADS
+
+    ProcessMessage(&msg);
+
+    return true;
+}
+
+void wxGUIEventLoop::OnNextIteration()
+{
+#if wxUSE_THREADS
+    wxMutexGuiLeaveOrEnter();
+#endif // wxUSE_THREADS
+}
+
+void wxGUIEventLoop::WakeUp()
+{
+    ::PostMessage(NULL, WM_NULL, 0, 0);
+}
+
+#else // !wxUSE_GUI
+
+void wxConsoleEventLoop::OnNextIteration()
+{
+    if ( wxTheApp )
+        wxTheApp->ProcessPendingEvents();
+}
+
+void wxConsoleEventLoop::WakeUp()
+{
+    wxWakeUpMainThread();
+}
+
+bool wxConsoleEventLoop::Dispatch()
+{
+    MSG msg;
+    if ( !GetNextMessage(&msg) )
+        return false;
+
+    if ( msg.message == WM_TIMER )
+    {
+        TIMERPROC proc = (TIMERPROC)msg.lParam;
+        if ( proc )
+            (*proc)(NULL, 0, msg.wParam, 0);
+    }
+    else
+    {
+        wxLogDebug(_T("Ignoring unexpected message %d"), msg.message);
+    }
+
+    return !m_shouldExit;
+}
+
+#endif //wxUSE_GUI
index 79a98342db575713886ff3fe1185227f8c3013d4..cc71fb2735d7853cdc081bfce8cce04c3b7b5798 100644 (file)
@@ -2464,7 +2464,7 @@ LRESULT WXDLLEXPORT APIENTRY _EXPORT wxWndProc(HWND hWnd, UINT message, WPARAM w
 
     LRESULT rc;
 
-    if ( wnd && wxEventLoop::AllowProcessing(wnd) )
+    if ( wnd && wxGUIEventLoop::AllowProcessing(wnd) )
         rc = wnd->MSWWindowProc(message, wParam, lParam);
     else
         rc = ::DefWindowProc(hWnd, message, wParam, lParam);
index 187227a0b518e982f656ee10d2676250777ffcc6..da4a396c41d8e82ff57e67f05a0807366988301c 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Name:        src/os2/evtloop.cpp
-// Purpose:     implements wxEventLoop for PM
+// Purpose:     implements wxGUIEventLoop for PM
 // Author:      Vadim Zeitlin
 // Modified by:
 // Created:     01.06.01
@@ -197,14 +197,14 @@ bool wxEventLoopImpl::SendIdleMessage()
 }
 
 // ============================================================================
-// wxEventLoop implementation
+// wxGUIEventLoop implementation
 // ============================================================================
 
 // ----------------------------------------------------------------------------
-// wxEventLoop running and exiting
+// wxGUIEventLoop running and exiting
 // ----------------------------------------------------------------------------
 
-wxEventLoop::~wxEventLoop()
+wxGUIEventLoop::~wxGUIEventLoop()
 {
     wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
 }
@@ -227,18 +227,18 @@ wxEventLoop::~wxEventLoop()
 class CallEventLoopMethod
 {
 public:
-    typedef void (wxEventLoop::*FuncType)();
+    typedef void (wxGUIEventLoop::*FuncType)();
 
-    CallEventLoopMethod(wxEventLoop *evtLoop, FuncType fn)
+    CallEventLoopMethod(wxGUIEventLoop *evtLoop, FuncType fn)
         : m_evtLoop(evtLoop), m_fn(fn) { }
     ~CallEventLoopMethod() { (m_evtLoop->*m_fn)(); }
 
 private:
-    wxEventLoop *m_evtLoop;
+    wxGUIEventLoop *m_evtLoop;
     FuncType m_fn;
 };
 
-int wxEventLoop::Run()
+int wxGUIEventLoop::Run()
 {
     // event loops are not recursive, you need to create another loop!
     wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
@@ -249,7 +249,7 @@ int wxEventLoop::Run()
     wxEventLoopActivator activate(this);
     wxEventLoopImplTiedPtr impl(&m_impl, new wxEventLoopImpl);
 
-    CallEventLoopMethod  callOnExit(this, &wxEventLoop::OnExit);
+    CallEventLoopMethod  callOnExit(this, &wxGUIEventLoop::OnExit);
 
     for ( ;; )
     {
@@ -283,7 +283,7 @@ int wxEventLoop::Run()
     return m_impl->GetExitCode();
 }
 
-void wxEventLoop::Exit(int rc)
+void wxGUIEventLoop::Exit(int rc)
 {
     wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
 
@@ -293,16 +293,16 @@ void wxEventLoop::Exit(int rc)
 }
 
 // ----------------------------------------------------------------------------
-// wxEventLoop message processing dispatching
+// wxGUIEventLoop message processing dispatching
 // ----------------------------------------------------------------------------
 
-bool wxEventLoop::Pending() const
+bool wxGUIEventLoop::Pending() const
 {
     QMSG msg;
     return ::WinPeekMsg(vHabmain, &msg, 0, 0, 0, PM_NOREMOVE) != 0;
 }
 
-bool wxEventLoop::Dispatch()
+bool wxGUIEventLoop::Dispatch()
 {
     wxCHECK_MSG( IsRunning(), false, _T("can't call Dispatch() if not running") );
 
index d75c0a0ab27d3cb0597d1ab808461c0ab2678317..75ab669b22728eb0f741b0882dd6841e7c1f55cd 100644 (file)
@@ -34,6 +34,7 @@
 
 #include "wx/apptrait.h"
 #include "wx/os2/private/timer.h"
+#include "wx/evtloop.h"
 
 #include "wx/os2/private.h"     // includes <windows.h>
 
@@ -267,6 +268,10 @@ wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
     return new wxOS2TimerImpl(timer);
 }
 
+wxEventLoop* wxGUIAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop;
+}
 
 // ---------------------------------------------------------------------------
 // window information functions
index 1447a4905adf3b5d7643e62cf2af2a7dc2bbcfe3..1344607c9fda60f23c3d721c1aed09e736ac8f78 100644 (file)
@@ -47,6 +47,7 @@
 #include "wx/apptrait.h"
 #include "wx/filename.h"
 #include "wx/dynlib.h"
+#include "wx/evtloop.h"
 
 #if wxUSE_TOOLTIPS
     #include "wx/tooltip.h"
@@ -123,6 +124,11 @@ wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
 {
     return new wxPalmOSTimerImpl(timer);
 };
+
+wxEventLoop* wxGUIAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop;
+}
 // ===========================================================================
 // wxApp implementation
 // ===========================================================================
index ec93249cbcfb144c8507430fb0ad97f6cfb56c5d..84d17fef35e5c417e6b96620c91354d18d60fc49 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Name:        src/palmos/evtloop.cpp
-// Purpose:     implements wxEventLoop for Palm OS
+// Purpose:     implements wxGUIEventLoop for Palm OS
 // Author:      William Osborne - minimal working wxPalmOS port
 // Modified by:
 // Created:     10.14.04
 #include <Form.h>
 
 // ============================================================================
-// wxEventLoop implementation
+// wxGUIEventLoop implementation
 // ============================================================================
 
 // ----------------------------------------------------------------------------
 // ctor/dtor
 // ----------------------------------------------------------------------------
 
-wxEventLoop::wxEventLoop()
+wxGUIEventLoop::wxGUIEventLoop()
 {
     m_shouldExit = false;
     m_exitcode = 0;
 }
 
 // ----------------------------------------------------------------------------
-// wxEventLoop message processing
+// wxGUIEventLoop message processing
 // ----------------------------------------------------------------------------
 
-void wxEventLoop::ProcessMessage(WXMSG *msg)
+void wxGUIEventLoop::ProcessMessage(WXMSG *msg)
 {
 }
 
-bool wxEventLoop::PreProcessMessage(WXMSG *msg)
+bool wxGUIEventLoop::PreProcessMessage(WXMSG *msg)
 {
     return false;
 }
 
 // ----------------------------------------------------------------------------
-// wxEventLoop running and exiting
+// wxGUIEventLoop running and exiting
 // ----------------------------------------------------------------------------
 
-bool wxEventLoop::IsRunning() const
+bool wxGUIEventLoop::IsRunning() const
 {
     return true;
 }
 
-int wxEventLoop::Run()
+int wxGUIEventLoop::Run()
 {
     status_t    error;
     EventType    event;
@@ -112,7 +112,7 @@ int wxEventLoop::Run()
     return 0;
 }
 
-void wxEventLoop::Exit(int rc)
+void wxGUIEventLoop::Exit(int rc)
 {
     FrmCloseAllForms();
 
@@ -122,15 +122,15 @@ void wxEventLoop::Exit(int rc)
 }
 
 // ----------------------------------------------------------------------------
-// wxEventLoop message processing dispatching
+// wxGUIEventLoop message processing dispatching
 // ----------------------------------------------------------------------------
 
-bool wxEventLoop::Pending() const
+bool wxGUIEventLoop::Pending() const
 {
     return false;
 }
 
-bool wxEventLoop::Dispatch()
+bool wxGUIEventLoop::Dispatch()
 {
     return false;
 }
diff --git a/src/unix/appunix.cpp b/src/unix/appunix.cpp
new file mode 100644 (file)
index 0000000..a409917
--- /dev/null
@@ -0,0 +1,77 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/unix/appunix.cpp
+// Purpose:     wxAppConsole with wxMainLoop implementation
+// Author:      Lukasz Michalski
+// Created:     28/01/2005
+// RCS-ID:      $Id$
+// Copyright:   (c) Lukasz Michalski
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#include "wx/app.h"
+#include "wx/log.h"
+#include "wx/evtloop.h"
+
+#include <signal.h>
+#include <unistd.h>
+
+bool wxAppConsoleUnix::Initialize(int& argc, wxChar** argv)
+{
+    if ( !wxAppConsole::Initialize(argc,argv) )
+        return false;
+
+    if ( !m_mainLoop->IsOk() )
+        return false;
+
+    sigemptyset(&m_signalsCaught);
+
+    return true;
+}
+
+void wxAppConsoleUnix::HandleSignal(int signal)
+{
+    wxAppConsoleUnix * const app = wxTheApp;
+    if ( !app )
+        return;
+
+    sigaddset(&(app->m_signalsCaught), signal);
+    app->WakeUpIdle();
+}
+
+void wxAppConsoleUnix::CheckSignal()
+{
+    for ( SignalHandlerHash::iterator it = m_signalHandlerHash.begin();
+          it != m_signalHandlerHash.end();
+          ++it )
+    {
+        int sig = it->first;
+        if ( sigismember(&m_signalsCaught, sig) )
+        {
+            sigdelset(&m_signalsCaught, sig);
+            (it->second)(sig);
+        }
+    }
+}
+
+bool wxAppConsoleUnix::SetSignalHandler(int signal, SignalHandler handler)
+{
+    const bool install = handler != SIG_DFL && handler != SIG_IGN;
+
+    struct sigaction sa;
+    memset(&sa, 0, sizeof(sa));
+    sa.sa_handler = &wxAppConsoleUnix::HandleSignal;
+    sa.sa_flags = SA_RESTART;
+    int res = sigaction(signal, &sa, 0);
+    if ( res != 0 )
+    {
+        wxLogSysError(_("Failed to install signal handler"));
+        return false;
+    }
+
+    if ( install )
+        m_signalHandlerHash[signal] = handler;
+    else
+        m_signalHandlerHash.erase(signal);
+
+    return true;
+}
index 822a55bcb6db25e93cbd48ae367768dbb3de52ef..9dd19ba0200248ec7aa0790dd03a9ab27bdca829 100644 (file)
@@ -32,6 +32,7 @@
 
 #include "wx/apptrait.h"
 #include "wx/unix/execute.h"
+#include "wx/evtloop.h"
 #include "wx/unix/private/timer.h"
 
 // for waitpid()
@@ -82,10 +83,15 @@ wxConsoleAppTraits::WaitForChild(wxExecuteData& execData)
     return exitcode;
 }
 
-wxTimerImpl*
-wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
+wxTimerImpl *wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
 {
     // this doesn't work yet as there is no main loop in console applications
     // (but it will be added later)
     return new wxUnixTimerImpl(timer);
 }
+
+wxEventLoop *wxConsoleAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop();
+}
+
diff --git a/src/unix/epolldispatcher.cpp b/src/unix/epolldispatcher.cpp
new file mode 100644 (file)
index 0000000..011e8ae
--- /dev/null
@@ -0,0 +1,219 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/common/epolldispatcher.cpp
+// Purpose:     implements dispatcher for epoll_wait() call
+// Author:      Lukasz Michalski
+// Created:     April 2007
+// RCS-ID:      $Id$
+// Copyright:   (c) 2007 Lukasz Michalski
+// License:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// for compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef HAVE_SYS_EPOLL_H
+
+#include "wx/unix/private/epolldispatcher.h"
+#include "wx/unix/private.h"
+#include "wx/log.h"
+#include "wx/module.h"
+
+#include <sys/epoll.h>
+#include <errno.h>
+
+#define wxEpollDispatcher_Trace wxT("epolldispatcher")
+
+static wxEpollDispatcher *gs_epollDispatcher = NULL;
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+// helper: return EPOLLxxx mask corresponding to the given flags (and also log
+// debugging messages about it)
+static uint32_t GetEpollMask(int flags, int fd)
+{
+    uint32_t ep = 0;
+
+    if ( flags & wxFDIO_INPUT )
+    {
+        ep |= EPOLLIN;
+        wxLogTrace(wxEpollDispatcher_Trace,
+                   _T("Registered fd %d for input events"), fd);
+    }
+
+    if ( flags & wxFDIO_OUTPUT )
+    {
+        ep |= EPOLLOUT;
+        wxLogTrace(wxEpollDispatcher_Trace,
+                   _T("Registered fd %d for output events"), fd);
+    }
+
+    if ( flags & wxFDIO_EXCEPTION )
+    {
+        ep |= EPOLLERR | EPOLLHUP;
+        wxLogTrace(wxEpollDispatcher_Trace,
+                   _T("Registered fd %d for exceptional events"), fd);
+    }
+
+    return ep;
+}
+
+// ----------------------------------------------------------------------------
+// wxEpollDispatcher
+// ----------------------------------------------------------------------------
+
+wxEpollDispatcher::wxEpollDispatcher()
+{
+    m_epollDescriptor = epoll_create(1024);
+    if ( m_epollDescriptor == -1 )
+    {
+        wxLogSysError(_("Failed to create epoll descriptor"));
+    }
+}
+
+bool wxEpollDispatcher::RegisterFD(int fd, wxFDIOHandler* handler, int flags)
+{
+    if ( !wxFDIODispatcher::RegisterFD(fd, handler, flags) )
+        return false;
+
+    epoll_event ev;
+    ev.events = GetEpollMask(flags, fd);
+    ev.data.ptr = handler;
+
+    const int ret = epoll_ctl(m_epollDescriptor, EPOLL_CTL_ADD, fd, &ev);
+    if ( ret != 0 )
+    {
+        wxLogSysError(_("Failed to add descriptor %d to epoll descriptor %d"),
+                      fd, m_epollDescriptor);
+
+        return false;
+    }
+
+    return true;
+}
+
+bool wxEpollDispatcher::ModifyFD(int fd, wxFDIOHandler* handler, int flags)
+{
+    if ( !wxFDIODispatcher::ModifyFD(fd, handler, flags) )
+        return false;
+
+    epoll_event ev;
+    ev.events = GetEpollMask(flags, fd);
+    ev.data.ptr = handler;
+
+    const int ret = epoll_ctl(m_epollDescriptor, EPOLL_CTL_MOD, fd, &ev);
+    if ( ret != 0 )
+    {
+        wxLogSysError(_("Failed to modify descriptor %d in epoll descriptor %d"),
+                      fd, m_epollDescriptor);
+
+        return false;
+    }
+
+    return true;
+}
+
+wxFDIOHandler *wxEpollDispatcher::UnregisterFD(int fd, int flags)
+{
+    wxFDIOHandler * const handler = wxFDIODispatcher::UnregisterFD(fd, flags);
+    if ( !handler )
+        return NULL;
+
+    epoll_event ev;
+    ev.events = 0;
+    ev.data.ptr = NULL;
+
+    if ( epoll_ctl(m_epollDescriptor, EPOLL_CTL_DEL, fd, &ev) != 0 )
+    {
+        wxLogSysError(_("Failed to unregister descriptor %d from epoll descriptor %d"),
+                      fd, m_epollDescriptor);
+    }
+
+    return handler;
+}
+
+void wxEpollDispatcher::RunLoop(int timeout)
+{
+    epoll_event events[16];
+
+    const int e_num = epoll_wait
+                      (
+                        m_epollDescriptor,
+                        events,
+                        WXSIZEOF(events),
+                        timeout == TIMEOUT_INFINITE ? -1 : timeout
+                      );
+
+    if ( e_num == -1 )
+    {
+        if ( errno != EINTR )
+        {
+            wxLogSysError(_("Waiting for IO on epoll descriptor %d failed"),
+                          m_epollDescriptor);
+            return;
+        }
+    }
+
+    for ( epoll_event *p = events; p < events + e_num; p++ )
+    {
+        wxFDIOHandler * const handler = (wxFDIOHandler *)(p->data.ptr);
+        if ( !handler )
+        {
+            wxFAIL_MSG( _T("NULL handler in epoll_event?") );
+            continue;
+        }
+
+        if ( p->events & EPOLLIN )
+            handler->OnReadWaiting();
+
+        if ( p->events & EPOLLOUT )
+            handler->OnWriteWaiting();
+
+        if ( p->events & (EPOLLERR | EPOLLHUP) )
+            handler->OnExceptionWaiting();
+    }
+}
+
+/* static */
+wxEpollDispatcher *wxEpollDispatcher::Get()
+{
+    if ( !gs_epollDispatcher )
+    {
+        gs_epollDispatcher = new wxEpollDispatcher;
+        if ( !gs_epollDispatcher->IsOk() )
+        {
+            delete gs_epollDispatcher;
+            gs_epollDispatcher = NULL;
+        }
+    }
+
+    return gs_epollDispatcher;
+}
+
+// ----------------------------------------------------------------------------
+// wxEpollDispatcherModule
+// ----------------------------------------------------------------------------
+
+class wxEpollDispatcherModule : public wxModule
+{
+public:
+    wxEpollDispatcherModule() { }
+
+    virtual bool OnInit() { return true; }
+    virtual void OnExit() { wxDELETE(gs_epollDispatcher); }
+
+    DECLARE_DYNAMIC_CLASS(wxEpollDispatcherModule)
+};
+
+IMPLEMENT_DYNAMIC_CLASS(wxEpollDispatcherModule, wxModule)
+
+#endif // HAVE_SYS_EPOLL_H
diff --git a/src/unix/evtloopunix.cpp b/src/unix/evtloopunix.cpp
new file mode 100644 (file)
index 0000000..1aadf8f
--- /dev/null
@@ -0,0 +1,192 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        src/unix/evtloopunix.cpp
+// Purpose:     wxEventLoop implementation
+// Author:      Lukasz Michalski (lm@zork.pl)
+// Created:     2007-05-07
+// RCS-ID:      $Id$
+// Copyright:   (c) 2006 Zork Lukasz Michalski
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// ===========================================================================
+// declarations
+// ===========================================================================
+
+// ---------------------------------------------------------------------------
+// headers
+// ---------------------------------------------------------------------------
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#include "wx/evtloop.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/app.h"
+    #include "wx/log.h"
+#endif
+
+#include <errno.h>
+#include "wx/thread.h"
+#include "wx/module.h"
+#include "wx/generic/private/timer.h"
+#include "wx/unix/private/epolldispatcher.h"
+#include "wx/private/selectdispatcher.h"
+
+#define TRACE_EVENTS _T("events")
+
+// ===========================================================================
+// wxEventLoop::PipeIOHandler implementation
+// ===========================================================================
+
+// ----------------------------------------------------------------------------
+// initialization
+// ----------------------------------------------------------------------------
+
+bool wxConsoleEventLoop::PipeIOHandler::Create()
+{
+    if ( !m_pipe.Create() )
+    {
+        wxLogError(_("Failed to create wake up pipe used by event loop."));
+        return false;
+    }
+
+    const int fdRead = GetReadFd();
+
+    int flags = fcntl(fdRead, F_GETFL, 0);
+    if ( flags == -1 || fcntl(fdRead, F_SETFL, flags | O_NONBLOCK) == -1 )
+    {
+        wxLogSysError(_("Failed to switch wake up pipe to non-blocking mode"));
+        return false;
+    }
+
+    wxLogTrace(TRACE_EVENTS, wxT("Wake up pipe (%d, %d) created"),
+               fdRead, m_pipe[wxPipe::Write]);
+
+    return true;
+}
+
+// ----------------------------------------------------------------------------
+// wakeup handling
+// ----------------------------------------------------------------------------
+
+void wxConsoleEventLoop::PipeIOHandler::WakeUp()
+{
+    if ( write(m_pipe[wxPipe::Write], "s", 1) != 1 )
+    {
+        // don't use wxLog here, we can be in another thread and this could
+        // result in dead locks
+        perror("write(wake up pipe)");
+    }
+}
+
+void wxConsoleEventLoop::PipeIOHandler::OnReadWaiting()
+{
+    // got wakeup from child thread: read all data available in pipe just to
+    // make it empty (evevn though we write one byte at a time from WakeUp(),
+    // it could have been called several times)
+    char buf[4];
+    for ( ;; )
+    {
+        const int size = read(GetReadFd(), buf, WXSIZEOF(buf));
+
+        if ( size == 0 || (size == -1 && errno == EAGAIN) )
+        {
+            // nothing left in the pipe (EAGAIN is expected for an FD with
+            // O_NONBLOCK)
+            break;
+        }
+
+        if ( size == -1 )
+        {
+            wxLogSysError(_("Failed to read from wake-up pipe"));
+
+            break;
+        }
+    }
+
+    wxTheApp->ProcessPendingEvents();
+}
+
+// ===========================================================================
+// wxEventLoop implementation
+// ===========================================================================
+
+//-----------------------------------------------------------------------------
+// initialization
+//-----------------------------------------------------------------------------
+
+wxConsoleEventLoop::wxConsoleEventLoop()
+{
+    if ( !m_wakeupPipe.Create() )
+    {
+        m_dispatcher = NULL;
+        return;
+    }
+
+#ifdef HAVE_SYS_EPOLL_H
+    m_dispatcher = wxEpollDispatcher::Get();
+    if ( !m_dispatcher )
+#endif // HAVE_SYS_EPOLL_H
+    {
+        m_dispatcher = wxSelectDispatcher::Get();
+    }
+
+    wxCHECK_RET( m_dispatcher, _T("failed to create IO dispatcher") );
+
+    m_dispatcher->RegisterFD
+                  (
+                    m_wakeupPipe.GetReadFd(),
+                    &m_wakeupPipe,
+                    wxFDIO_INPUT
+                  );
+};
+
+//-----------------------------------------------------------------------------
+// events dispatch and loop handling
+//-----------------------------------------------------------------------------
+
+bool wxConsoleEventLoop::Pending() const
+{
+    return wxTheApp->HasPendingEvents();
+}
+
+bool wxConsoleEventLoop::Dispatch()
+{
+    wxTheApp->ProcessPendingEvents();
+    return true;
+}
+
+void wxConsoleEventLoop::WakeUp()
+{
+    m_wakeupPipe.WakeUp();
+}
+
+void wxConsoleEventLoop::OnNextIteration()
+{
+    // calculate the timeout until the next timer expiration
+    int timeout;
+
+#if wxUSE_TIMER
+    wxUsecClock_t nextTimer;
+    if ( wxTimerScheduler::Get().GetNext(&nextTimer) )
+    {
+        // timeout is in ms
+        timeout = (nextTimer / 1000).ToLong();
+    }
+    else // no timers, we can block forever
+#endif // wxUSE_TIMER
+    {
+        timeout = wxFDIODispatcher::TIMEOUT_INFINITE;
+    }
+
+    m_dispatcher->RunLoop(timeout);
+
+#if wxUSE_TIMER
+    wxTimerScheduler::Get().NotifyExpired();
+#endif
+
+    // call the signal handlers for any signals we caught recently
+    wxTheApp->CheckSignal();
+}
+
index f718baab539645511f283b6f71a42f721175c041..3e1e5213ef8368cc9bb13f76434474fdd6db53ec 100644 (file)
@@ -143,12 +143,12 @@ bool wxEventLoopImpl::SendIdleEvent()
 // wxEventLoop running and exiting
 // ----------------------------------------------------------------------------
 
-wxEventLoop::~wxEventLoop()
+wxGUIEventLoop::~wxGUIEventLoop()
 {
     wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
 }
 
-int wxEventLoop::Run()
+int wxGUIEventLoop::Run()
 {
     // event loops are not recursive, you need to create another loop!
     wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
@@ -191,7 +191,7 @@ int wxEventLoop::Run()
     return exitcode;
 }
 
-void wxEventLoop::Exit(int rc)
+void wxGUIEventLoop::Exit(int rc)
 {
     wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
 
@@ -203,13 +203,13 @@ void wxEventLoop::Exit(int rc)
 // wxEventLoop message processing dispatching
 // ----------------------------------------------------------------------------
 
-bool wxEventLoop::Pending() const
+bool wxGUIEventLoop::Pending() const
 {
     XFlush( wxGlobalDisplay() );
     return (XPending( wxGlobalDisplay() ) > 0);
 }
 
-bool wxEventLoop::Dispatch()
+bool wxGUIEventLoop::Dispatch()
 {
     XEvent event;
 
@@ -253,7 +253,7 @@ bool wxEventLoop::Dispatch()
             // An X11 event was pending, get it
             if (wxFD_ISSET( fd, &readset ))
                 XNextEvent( wxGlobalDisplay(), &event );
-        }    
+        }
 #endif
     }
     else
@@ -263,7 +263,7 @@ bool wxEventLoop::Dispatch()
 
 #if wxUSE_SOCKETS
     // handle any pending socket events:
-    wxSelectDispatcher::Get().RunLoop(0);
+    wxSelectDispatcher::DispatchPending();
 #endif
 
     (void) m_impl->ProcessEvent( &event );
index 665d4a2ec9d4453fdc2de0928a3199ad2f5d249b..7448c3ab2407bc78390a850cdf212c3649a009cd 100644 (file)
@@ -35,6 +35,7 @@
 
 #include "wx/apptrait.h"
 #include "wx/generic/private/timer.h"
+#include "wx/evtloop.h"
 
 #include <ctype.h>
 #include <stdarg.h>
@@ -170,6 +171,11 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
     return wxPORT_X11;
 }
 
+wxEventLoop* wxGUIAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop;
+}
+
 // ----------------------------------------------------------------------------
 // display info
 // ----------------------------------------------------------------------------
index 4cbdd99139362c9078045eee6e8f67b55fc45cb4..52f42edcc230eee966c8ad776a9071f16e9133d8 100644 (file)
@@ -327,9 +327,11 @@ wx/xti.h
 wx/xtistrm.h
 wx/zipstrm.h
 wx/zstream.h
+wx/unix/app.h
 wx/unix/apptbase.h
 wx/unix/apptrait.h
 wx/unix/execute.h
+wx/unix/evtloop.h
 wx/unix/mimetype.h
 wx/unix/pipe.h
 wx/unix/private.h
index fe95f4c628c4bbfb6e7558aa2a587cd3c4181697..95911bff91d0d28519a84a7ea438a31a4cba33ad 100644 (file)
@@ -230,9 +230,11 @@ wx/xti.h
 wx/xtistrm.h
 wx/zipstrm.h
 wx/zstream.h
+wx/unix/app.h
 wx/unix/apptbase.h
 wx/unix/apptrait.h
 wx/unix/execute.h
+wx/unix/evtloop.h
 wx/unix/mimetype.h
 wx/unix/pipe.h
 wx/unix/private.h
index 0b6ca5e18414afe6a6bf973adf7deb2424b78523..f42d50ddc778979c5206ba6b29dfa67fd4ff42c3 100644 (file)
@@ -255,9 +255,11 @@ wx/xti.h
 wx/xtistrm.h
 wx/zipstrm.h
 wx/zstream.h
+wx/unix/app.h
 wx/unix/apptbase.h
 wx/unix/apptrait.h
 wx/unix/execute.h
+wx/unix/evtloop.h
 wx/unix/mimetype.h
 wx/unix/pipe.h
 wx/unix/private.h