Various fixes for mingw
This commit is contained in:
		
							parent
							
								
									9b8a7eaa01
								
							
						
					
					
						commit
						e9b9ff9f38
					
				
					 13 changed files with 61 additions and 33 deletions
				
			
		| 
						 | 
					@ -7,9 +7,6 @@ ar = '/usr/bin/x86_64-w64-mingw32-gcc-ar'
 | 
				
			||||||
strip = '/usr/bin/x86_64-w64-mingw32-strip'
 | 
					strip = '/usr/bin/x86_64-w64-mingw32-strip'
 | 
				
			||||||
pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config'
 | 
					pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[properties]
 | 
					 | 
				
			||||||
c_args = ['-DNTDDI_VERSION=NTDDI_WIN7', '-D_WIN32_WINNT=_WIN32_WINNT_WIN7']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[host_machine]
 | 
					[host_machine]
 | 
				
			||||||
system = 'windows'
 | 
					system = 'windows'
 | 
				
			||||||
cpu_family = 'x86_64'
 | 
					cpu_family = 'x86_64'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										16
									
								
								meson.build
									
										
									
									
									
								
							
							
						
						
									
										16
									
								
								meson.build
									
										
									
									
									
								
							| 
						 | 
					@ -15,6 +15,7 @@ cc = meson.get_compiler('c')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
libgio_dep = dependency('gio-2.0', version: '>= 2.34.0')
 | 
					libgio_dep = dependency('gio-2.0', version: '>= 2.34.0')
 | 
				
			||||||
libgmodule_dep = dependency('gmodule-2.0')
 | 
					libgmodule_dep = dependency('gmodule-2.0')
 | 
				
			||||||
 | 
					global_deps = []
 | 
				
			||||||
if cc.get_id() == 'msvc'
 | 
					if cc.get_id() == 'msvc'
 | 
				
			||||||
  libssl_dep = cc.find_library('libeay32')
 | 
					  libssl_dep = cc.find_library('libeay32')
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
| 
						 | 
					@ -76,13 +77,18 @@ configure_file(output: 'config.h', configuration: config_h)
 | 
				
			||||||
config_h_include = include_directories('.')
 | 
					config_h_include = include_directories('.')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if host_machine.system() == 'windows'
 | 
					if host_machine.system() == 'windows'
 | 
				
			||||||
  add_project_arguments('-DWIN32', language: 'c')
 | 
					  add_project_arguments(
 | 
				
			||||||
 | 
					    '-DWIN32',
 | 
				
			||||||
 | 
					    '-DNTDDI_VERSION=NTDDI_WIN7',
 | 
				
			||||||
 | 
					    '-D_WIN32_WINNT=_WIN32_WINNT_WIN7',
 | 
				
			||||||
 | 
					     language: 'c')
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
global_cflags = []
 | 
					global_cflags = []
 | 
				
			||||||
test_cflags = [
 | 
					test_cflags = [
 | 
				
			||||||
  '-pipe',
 | 
					  '-pipe',
 | 
				
			||||||
 | 
					  '-fPIE',
 | 
				
			||||||
  '-funsigned-char',
 | 
					  '-funsigned-char',
 | 
				
			||||||
  '-Wno-conversion',
 | 
					  '-Wno-conversion',
 | 
				
			||||||
  '-Wno-pointer-sign',
 | 
					  '-Wno-pointer-sign',
 | 
				
			||||||
| 
						 | 
					@ -112,6 +118,10 @@ if get_option('buildtype') != 'plain'
 | 
				
			||||||
     }
 | 
					     }
 | 
				
			||||||
     ''', args: '-fstack-protector-all')
 | 
					     ''', args: '-fstack-protector-all')
 | 
				
			||||||
    global_cflags += '-fstack-protector-strong'
 | 
					    global_cflags += '-fstack-protector-strong'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if host_machine.system() == 'windows'
 | 
				
			||||||
 | 
					      global_deps += cc.find_library('ssp')
 | 
				
			||||||
 | 
					    endif
 | 
				
			||||||
  endif
 | 
					  endif
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
add_project_arguments(global_cflags, language: 'c')
 | 
					add_project_arguments(global_cflags, language: 'c')
 | 
				
			||||||
| 
						 | 
					@ -121,6 +131,10 @@ global_ldflags = []
 | 
				
			||||||
test_ldflags = [
 | 
					test_ldflags = [
 | 
				
			||||||
  '-Wl,-z,relro',
 | 
					  '-Wl,-z,relro',
 | 
				
			||||||
  '-Wl,-z,now',
 | 
					  '-Wl,-z,now',
 | 
				
			||||||
 | 
					  '-Wl,-pie',
 | 
				
			||||||
 | 
					  # mingw
 | 
				
			||||||
 | 
					  '-Wl,--dynamicbase',
 | 
				
			||||||
 | 
					  '-Wl,--nxcompat',
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
foreach ldflag : test_ldflags
 | 
					foreach ldflag : test_ldflags
 | 
				
			||||||
  if cc.has_argument(ldflag) and cc.links('int main (void) { return 0; }', args: ldflag)
 | 
					  if cc.has_argument(ldflag) and cc.links('int main (void) { return 0; }', args: ldflag)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,7 +5,8 @@ sysinfo_sources = [
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sysinfo_deps = [
 | 
					sysinfo_deps = [
 | 
				
			||||||
  libgio_dep,
 | 
					  libgio_dep,
 | 
				
			||||||
  hexchat_plugin_dep
 | 
					  hexchat_plugin_dep,
 | 
				
			||||||
 | 
					  common_sysinfo_deps,
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sysinfo_includes = []
 | 
					sysinfo_includes = []
 | 
				
			||||||
| 
						 | 
					@ -41,7 +42,10 @@ if system == 'linux' or system == 'darwin'
 | 
				
			||||||
  endif
 | 
					  endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
elif system == 'windows'
 | 
					elif system == 'windows'
 | 
				
			||||||
  sysinfo_sources += 'win32/backend.c'
 | 
					  sysinfo_sources += [
 | 
				
			||||||
 | 
					    'win32/backend.c',
 | 
				
			||||||
 | 
					    '../../src/common/sysinfo/win32/backend.c'
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
  error('sysinfo: Unknown system?')
 | 
					  error('sysinfo: Unknown system?')
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -30,14 +30,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "../format.h"
 | 
					#include "../format.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int command_callback (char *word[], char *word_eol[], void *user_data);
 | 
					static char *get_memory_info (void);
 | 
				
			||||||
 | 
					 | 
				
			||||||
void print_info (void);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
guint64 hdd_capacity;
 | 
					 | 
				
			||||||
guint64 hdd_free_space;
 | 
					 | 
				
			||||||
char *read_hdd_info (IWbemClassObject *object);
 | 
					 | 
				
			||||||
char *get_memory_info (void);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
char *
 | 
					char *
 | 
				
			||||||
sysinfo_backend_get_sound (void)
 | 
					sysinfo_backend_get_sound (void)
 | 
				
			||||||
| 
						 | 
					@ -98,11 +91,6 @@ sysinfo_backend_get_os (void)
 | 
				
			||||||
	return sysinfo_get_os ();
 | 
						return sysinfo_get_os ();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int get_cpu_arch (void)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return sysinfo_get_cpu_arch ();
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static char *get_memory_info (void)
 | 
					static char *get_memory_info (void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	MEMORYSTATUSEX meminfo = { 0 };
 | 
						MEMORYSTATUSEX meminfo = { 0 };
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -59,8 +59,8 @@
 | 
				
			||||||
#include "hexchatc.h"
 | 
					#include "hexchatc.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Setting _FILE_OFFSET_BITS to 64 doesn't change lseek to use off64_t on Windows, so override lseek to the version that does */
 | 
					/* Setting _FILE_OFFSET_BITS to 64 doesn't change lseek to use off64_t on Windows, so override lseek to the version that does */
 | 
				
			||||||
#ifdef WIN32
 | 
					#if defined(WIN32) && (!defined(__MINGW32__) && !defined(__MINGW64__))
 | 
				
			||||||
#define lseek _lseeki64
 | 
						#define lseek _lseeki64
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* interval timer to detect timeouts */
 | 
					/* interval timer to detect timeouts */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,9 +24,11 @@ common_sources = [
 | 
				
			||||||
  'util.c'
 | 
					  'util.c'
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					common_sysinfo_deps = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
common_deps = [
 | 
					common_deps = [
 | 
				
			||||||
  libgio_dep,
 | 
					  libgio_dep,
 | 
				
			||||||
]
 | 
					] + global_deps
 | 
				
			||||||
 | 
					
 | 
				
			||||||
common_includes = [
 | 
					common_includes = [
 | 
				
			||||||
  config_h_include,
 | 
					  config_h_include,
 | 
				
			||||||
| 
						 | 
					@ -41,7 +43,10 @@ if host_machine.system() == 'windows'
 | 
				
			||||||
  common_deps += [
 | 
					  common_deps += [
 | 
				
			||||||
    cc.find_library('ws2_32'), # winsock
 | 
					    cc.find_library('ws2_32'), # winsock
 | 
				
			||||||
    cc.find_library('winmm'), # playsound
 | 
					    cc.find_library('winmm'), # playsound
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					  common_sysinfo_deps += [
 | 
				
			||||||
    cc.find_library('wbemuuid'), # sysinfo
 | 
					    cc.find_library('wbemuuid'), # sysinfo
 | 
				
			||||||
 | 
					    cc.find_library('wbemcore'),
 | 
				
			||||||
  ]
 | 
					  ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  common_sources += 'sysinfo/win32/backend.c'
 | 
					  common_sources += 'sysinfo/win32/backend.c'
 | 
				
			||||||
| 
						 | 
					@ -98,7 +103,7 @@ endif
 | 
				
			||||||
hexchat_common = static_library('hexchatcommon',
 | 
					hexchat_common = static_library('hexchatcommon',
 | 
				
			||||||
  sources: [textevents] + marshal + common_sources,
 | 
					  sources: [textevents] + marshal + common_sources,
 | 
				
			||||||
  include_directories: config_h_include,
 | 
					  include_directories: config_h_include,
 | 
				
			||||||
  dependencies: common_deps,
 | 
					  dependencies: common_deps + common_sysinfo_deps,
 | 
				
			||||||
  c_args: common_cflags,
 | 
					  c_args: common_cflags,
 | 
				
			||||||
  pic: true
 | 
					  pic: true
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
| 
						 | 
					@ -113,4 +118,5 @@ hexchat_common_dep = declare_dependency(
 | 
				
			||||||
hexchat_plugin_dep = declare_dependency(
 | 
					hexchat_plugin_dep = declare_dependency(
 | 
				
			||||||
  include_directories: common_includes,
 | 
					  include_directories: common_includes,
 | 
				
			||||||
  compile_args: common_cflags,
 | 
					  compile_args: common_cflags,
 | 
				
			||||||
 | 
					  dependencies: global_deps,
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -200,13 +200,15 @@ plugin_list_add (hexchat_context *ctx, char *filename, const char *name,
 | 
				
			||||||
	return pl;
 | 
						return pl;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef WIN32
 | 
				
			||||||
static void *
 | 
					static void *
 | 
				
			||||||
hexchat_dummy (hexchat_plugin *ph)
 | 
					hexchat_dummy (hexchat_plugin *ph)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return NULL;
 | 
						return NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef WIN32
 | 
					#else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int
 | 
					static int
 | 
				
			||||||
hexchat_read_fd (hexchat_plugin *ph, GIOChannel *source, char *buf, int *len)
 | 
					hexchat_read_fd (hexchat_plugin *ph, GIOChannel *source, char *buf, int *len)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1471,7 +1471,13 @@ handle_message_tag_time (const char *time, message_tags_data *tags_data)
 | 
				
			||||||
		long long int t;
 | 
							long long int t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/* we ignore the milisecond part */
 | 
							/* we ignore the milisecond part */
 | 
				
			||||||
		if (sscanf (time, "%lld", &t) != 1)
 | 
							if (
 | 
				
			||||||
 | 
					#if defined(__MINGW64__) || defined(__MINGW32__)
 | 
				
			||||||
 | 
							__mingw_sscanf
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
							sscanf
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
							(time, "%lld", &t) != 1)
 | 
				
			||||||
			return;
 | 
								return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		tags_data->timestamp = (time_t) t;
 | 
							tags_data->timestamp = (time_t) t;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -174,7 +174,7 @@ static char *query_wmi (QueryWmiType type)
 | 
				
			||||||
		goto release_locator;
 | 
							goto release_locator;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	hr = namespace->lpVtbl->QueryInterface (namespace, &IID_IUnknown, &namespaceUnknown);
 | 
						hr = namespace->lpVtbl->QueryInterface (namespace, &IID_IUnknown, (void**)&namespaceUnknown);
 | 
				
			||||||
	if (FAILED (hr))
 | 
						if (FAILED (hr))
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		goto release_namespace;
 | 
							goto release_namespace;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -142,7 +142,7 @@ fe_args (int argc, char *argv[])
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			if (strstr (error->message, "--help-all") != NULL)
 | 
								if (strstr (error->message, "--help-all") != NULL)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				buffer = g_strdup_printf (g_option_context_get_help (context, FALSE, NULL));
 | 
									buffer = g_option_context_get_help (context, FALSE, NULL);
 | 
				
			||||||
				gtk_init (&argc, &argv);
 | 
									gtk_init (&argc, &argv);
 | 
				
			||||||
				create_msg_dialog ("Long Help", buffer);
 | 
									create_msg_dialog ("Long Help", buffer);
 | 
				
			||||||
				g_free (buffer);
 | 
									g_free (buffer);
 | 
				
			||||||
| 
						 | 
					@ -150,7 +150,7 @@ fe_args (int argc, char *argv[])
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			else if (strstr (error->message, "--help") != NULL || strstr (error->message, "-?") != NULL)
 | 
								else if (strstr (error->message, "--help") != NULL || strstr (error->message, "-?") != NULL)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				buffer = g_strdup_printf (g_option_context_get_help (context, TRUE, NULL));
 | 
									buffer = g_option_context_get_help (context, TRUE, NULL);
 | 
				
			||||||
				gtk_init (&argc, &argv);
 | 
									gtk_init (&argc, &argv);
 | 
				
			||||||
				create_msg_dialog ("Help", buffer);
 | 
									create_msg_dialog ("Help", buffer);
 | 
				
			||||||
				g_free (buffer);
 | 
									g_free (buffer);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,6 +51,15 @@ if get_option('with-libnotify')
 | 
				
			||||||
  hexchat_gtk_sources += 'notifications/notification-libnotify.c'
 | 
					  hexchat_gtk_sources += 'notifications/notification-libnotify.c'
 | 
				
			||||||
  hexchat_gtk_deps += dependency('libnotify')
 | 
					  hexchat_gtk_deps += dependency('libnotify')
 | 
				
			||||||
elif false # TODO HAVE_GTK_MAC
 | 
					elif false # TODO HAVE_GTK_MAC
 | 
				
			||||||
 | 
					elif host_machine.system() == 'windows'
 | 
				
			||||||
 | 
					  hexchat_gtk_sources += 'notifications/notification-windows.c'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # TODO: mingw doesn't have these headers or libs
 | 
				
			||||||
 | 
					  # add_languages('cpp')
 | 
				
			||||||
 | 
					  # shared_module('hcnotifications-winrt',
 | 
				
			||||||
 | 
					  #  sources: 'notifications/notification-winrt.cpp'
 | 
				
			||||||
 | 
					  #)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
  hexchat_gtk_sources += 'notifications/notification-dummy.c'
 | 
					  hexchat_gtk_sources += 'notifications/notification-dummy.c'
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
| 
						 | 
					@ -80,5 +89,6 @@ executable('hexchat',
 | 
				
			||||||
  dependencies: hexchat_gtk_deps,
 | 
					  dependencies: hexchat_gtk_deps,
 | 
				
			||||||
  c_args: hexchat_gtk_cflags,
 | 
					  c_args: hexchat_gtk_cflags,
 | 
				
			||||||
  link_args: hexchat_gtk_ldflags,
 | 
					  link_args: hexchat_gtk_ldflags,
 | 
				
			||||||
  install: true
 | 
					  install: true,
 | 
				
			||||||
 | 
					  gui_app: true,
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,12 +16,11 @@
 | 
				
			||||||
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 | 
					 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <gmodule.h>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "hexchat.h"
 | 
					#include "hexchat.h"
 | 
				
			||||||
#include "plugin.h"
 | 
					#include "plugin.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <Windows.h>
 | 
					#include <gmodule.h>
 | 
				
			||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void (*winrt_notification_backend_show) (const char *title, const char *text) = NULL;
 | 
					void (*winrt_notification_backend_show) (const char *title, const char *text) = NULL;
 | 
				
			||||||
int (*winrt_notification_backend_init) (const char **error) = NULL;
 | 
					int (*winrt_notification_backend_init) (const char **error) = NULL;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -465,6 +465,7 @@ tray_make_item (GtkWidget *menu, char *label, void *callback, void *userdata)
 | 
				
			||||||
	return item;
 | 
						return item;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef WIN32
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
tray_toggle_cb (GtkCheckMenuItem *item, unsigned int *setting)
 | 
					tray_toggle_cb (GtkCheckMenuItem *item, unsigned int *setting)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -476,6 +477,7 @@ blink_item (unsigned int *setting, GtkWidget *menu, char *label)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	menu_toggle_item (label, menu, tray_toggle_cb, setting, *setting);
 | 
						menu_toggle_item (label, menu, tray_toggle_cb, setting, *setting);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
tray_menu_destroy (GtkWidget *menu, gpointer userdata)
 | 
					tray_menu_destroy (GtkWidget *menu, gpointer userdata)
 | 
				
			||||||
| 
						 | 
					@ -586,7 +588,7 @@ tray_menu_cb (GtkWidget *widget, guint button, guint time, gpointer userdata)
 | 
				
			||||||
	g_signal_connect (G_OBJECT (menu), "enter-notify-event",
 | 
						g_signal_connect (G_OBJECT (menu), "enter-notify-event",
 | 
				
			||||||
							G_CALLBACK (tray_menu_enter_cb), NULL);
 | 
												G_CALLBACK (tray_menu_enter_cb), NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	tray_menu_timer = g_timeout_add (500, tray_check_hide, menu);
 | 
						tray_menu_timer = g_timeout_add (500, (GSourceFunc)tray_check_hide, menu);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL,
 | 
						gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue