Define wxSetDetectableAutoRepeat() for X11-based ports only.
This function is not needed in wxGTK2 as GTK+ sets detectable auto-repeat on its own in gdk_display_open() anyhow, so move its implementation to src/x11/utilsx.cpp where it can be used by wxX11 and wxMotif which do need it. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -923,12 +923,15 @@ void wxQsort(void *const pbase, size_t total_elems,
|
||||
|
||||
#if wxUSE_GUI
|
||||
|
||||
#ifndef __WXGTK__
|
||||
// this function is only really implemented for X11-based ports, including GTK1
|
||||
// (GTK2 sets detectable auto-repeat automatically anyhow)
|
||||
#if !(defined(__WXX11__) || defined(__WXMOTIF__) || \
|
||||
(defined(__WXGTK__) && !defined(__WXGTK20__)))
|
||||
bool wxSetDetectableAutoRepeat( bool WXUNUSED(flag) )
|
||||
{
|
||||
return true; // detectable auto-repeat is the only mode MSW supports
|
||||
return true;
|
||||
}
|
||||
#endif // !wxGTK
|
||||
#endif // !X11-based port
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Launch default browser
|
||||
|
@@ -438,8 +438,6 @@ bool wxApp::Initialize(int& argc_, wxChar **argv_)
|
||||
// we can not enter threads before gtk_init is done
|
||||
gdk_threads_enter();
|
||||
|
||||
wxSetDetectableAutoRepeat( true );
|
||||
|
||||
#if wxUSE_INTL
|
||||
wxFont::SetDefaultEncoding(wxLocale::GetSystemEncoding());
|
||||
#endif
|
||||
|
@@ -45,18 +45,6 @@
|
||||
#include "gtk/gtk.h"
|
||||
#include "gdk/gdkx.h"
|
||||
|
||||
#ifdef HAVE_X11_XKBLIB_H
|
||||
/* under HP-UX and Solaris 2.6, at least, XKBlib.h defines structures with
|
||||
* field named "explicit" - which is, of course, an error for a C++
|
||||
* compiler. To be on the safe side, just redefine it everywhere. */
|
||||
#define explicit __wx_explicit
|
||||
|
||||
#include "X11/XKBlib.h"
|
||||
|
||||
#undef explicit
|
||||
#endif // HAVE_X11_XKBLIB_H
|
||||
|
||||
|
||||
#if wxUSE_DETECT_SM
|
||||
#include "X11/Xlib.h"
|
||||
#include "X11/SM/SMlib.h"
|
||||
@@ -80,22 +68,6 @@ void wxBell()
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Don't synthesize KeyUp events holding down a key and producing
|
||||
KeyDown events with autorepeat. */
|
||||
#ifdef HAVE_X11_XKBLIB_H
|
||||
bool wxSetDetectableAutoRepeat( bool flag )
|
||||
{
|
||||
Bool result;
|
||||
XkbSetDetectableAutoRepeat( GDK_DISPLAY(), flag, &result );
|
||||
return result; /* true if keyboard hardware supports this mode */
|
||||
}
|
||||
#else
|
||||
bool wxSetDetectableAutoRepeat( bool WXUNUSED(flag) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// display characterstics
|
||||
// ----------------------------------------------------------------------------
|
||||
|
@@ -35,6 +35,18 @@
|
||||
#include "wx/dcmemory.h"
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_X11_XKBLIB_H
|
||||
/* under HP-UX and Solaris 2.6, at least, XKBlib.h defines structures with
|
||||
* field named "explicit" - which is, of course, an error for a C++
|
||||
* compiler. To be on the safe side, just redefine it everywhere. */
|
||||
#define explicit __wx_explicit
|
||||
|
||||
#include "X11/XKBlib.h"
|
||||
|
||||
#undef explicit
|
||||
#endif // HAVE_X11_XKBLIB_H
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// XShape code
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -236,3 +248,18 @@ void wxXVisualInfo::Init( Display* dpy, XVisualInfo* vi )
|
||||
}
|
||||
|
||||
#endif // !wxUSE_NANOX
|
||||
|
||||
/* Don't synthesize KeyUp events holding down a key and producing
|
||||
KeyDown events with autorepeat. */
|
||||
bool wxSetDetectableAutoRepeat( bool flag )
|
||||
{
|
||||
#ifdef HAVE_X11_XKBLIB_H
|
||||
Bool result;
|
||||
XkbSetDetectableAutoRepeat( (Display *)wxGetDisplay(), flag, &result );
|
||||
return result; /* true if keyboard hardware supports this mode */
|
||||
#else
|
||||
wxUnusedVar(flag);
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user