LINUX.ORG.RU

проблема с OpenTk под Mint

 , , opentk,


0

1

Возникла проблема с использованием библиотеки GLWigdet при разработке на MonoDevelop. В ней есть такой код:

// IWindowInfo
if (Configuration.RunningOnWindows)
{
	IntPtr windowHandle = gdk_win32_drawable_get_handle(GdkWindow.Handle);
	windowInfo = OpenTK.Platform.Utilities.CreateWindowsWindowInfo(windowHandle);
}
else if (Configuration.RunningOnMacOS)
{
	IntPtr windowHandle = gdk_x11_drawable_get_xid(GdkWindow.Handle);
	bool ownHandle = true;
	bool isControl = true;
	windowInfo = OpenTK.Platform.Utilities.CreateMacOSCarbonWindowInfo(windowHandle, ownHandle, isControl);
}
else if (Configuration.RunningOnX11)
{
	IntPtr display = gdk_x11_display_get_xdisplay(Display.Handle);
	int screen = Screen.Number;
	IntPtr windowHandle = gdk_x11_drawable_get_xid(GdkWindow.Handle);
	IntPtr rootWindow = gdk_x11_drawable_get_xid(RootWindow.Handle);

	IntPtr visualInfo;
	if (graphicsMode.Index.HasValue)
	{
	XVisualInfo info = new XVisualInfo();
	info.VisualID = graphicsMode.Index.Value;
	int dummy;
	visualInfo = XGetVisualInfo(display, XVisualInfoMask.ID, ref info, out dummy);
	}
	else
	{
		visualInfo = GetVisualInfo(display);
	}

	windowInfo = OpenTK.Platform.Utilities.CreateX11WindowInfo(display, screen, windowHandle, rootWindow, visualInfo);
	XFree(visualInfo);
}
else throw new PlatformNotSupportedException();

На сколько я понимаю, в моем случае должен срабатывать последний вариант else if (Configuration.RunningOnX11), однако этого не происходит. Сам OpenTK.Configuration выглядит так:

OpenTK.Configuration	OpenTK.Configuration        	<type>
RunningOnAndroid    	false                       	bool
RunningOnLinux      	true                        	bool
RunningOnMacOS      	false                       	bool
RunningOnMono       	true                        	bool
RunningOnSdl2       	false                       	bool
RunningOnUnix       	true                        	bool
RunningOnWindows    	false                       	bool
RunningOnX11        	false                       	bool
utsname             	OpenTK.Configuration.utsname	<type>
Non-public members  	                            	
Не могу понять, что не так. Собственно проблема возникла на домашнем компе. На другой машине с той же опперационкой RunningOnX11 имеет значение true. Подскажите, как быть.



Последнее исправление: dmitry1204 (всего исправлений: 1)

Utilities.Init() ну или что-то типо того...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.