Darwin: Added a lightweight debugging facility to support troubleshooting
(for example) the stuck modifier key issue (cherry picked from commit 0e0b452d10c0af55497c3299b5f3db45d5b381cb)
This commit is contained in:
parent
74214a9f42
commit
8486f8af91
|
@ -75,6 +75,10 @@
|
||||||
#include "darwin.h"
|
#include "darwin.h"
|
||||||
#include "darwinClut8.h"
|
#include "darwinClut8.h"
|
||||||
|
|
||||||
|
#ifdef ENABLE_DEBUG_LOG
|
||||||
|
FILE *debug_log_fp = NULL;
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* X server shared global variables
|
* X server shared global variables
|
||||||
*/
|
*/
|
||||||
|
@ -652,6 +656,20 @@ void OsVendorInit(void)
|
||||||
{
|
{
|
||||||
if (serverGeneration == 1) {
|
if (serverGeneration == 1) {
|
||||||
DarwinPrintBanner();
|
DarwinPrintBanner();
|
||||||
|
#ifdef ENABLE_DEBUG_LOG
|
||||||
|
{
|
||||||
|
char *home_dir=NULL, *log_file_path=NULL;
|
||||||
|
home_dir = getenv("HOME");
|
||||||
|
if (home_dir) asprintf(&log_file_path, "%s/%s", home_dir, DEBUG_LOG_NAME);
|
||||||
|
if (log_file_path) {
|
||||||
|
if (!access(log_file_path, F_OK)) {
|
||||||
|
debug_log_fp = fopen(log_file_path, "a");
|
||||||
|
if (debug_log_fp) ErrorF("Debug logging enabled to %s\n", log_file_path);
|
||||||
|
}
|
||||||
|
free(log_file_path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Find the full path to the keymapping file.
|
// Find the full path to the keymapping file.
|
||||||
|
|
|
@ -157,4 +157,14 @@ enum {
|
||||||
kXDarwinWindowMoved // window has moved on screen
|
kXDarwinWindowMoved // window has moved on screen
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define ENABLE_DEBUG_LOG 1
|
||||||
|
|
||||||
|
#ifdef ENABLE_DEBUG_LOG
|
||||||
|
extern FILE *debug_log_fp;
|
||||||
|
#define DEBUG_LOG_NAME "x11-debug.txt"
|
||||||
|
#define DEBUG_LOG(msg, args...) if (debug_log_fp) fprintf(debug_log_fp, "%s:%d: " msg, __FUNCTION__, __LINE__, ##args )
|
||||||
|
#else
|
||||||
|
#define DEBUG_LOG(msg, args...)
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* _DARWIN_H */
|
#endif /* _DARWIN_H */
|
||||||
|
|
Loading…
Reference in New Issue