diff --git a/headers/private/interface/DirectWindowPrivate.h b/headers/private/interface/DirectWindowPrivate.h index e4706f7d31..47a1f2f8e1 100644 --- a/headers/private/interface/DirectWindowPrivate.h +++ b/headers/private/interface/DirectWindowPrivate.h @@ -9,6 +9,9 @@ #include +#define DIRECT_BUFFER_INFO_AREA_SIZE B_PAGE_SIZE + + struct direct_window_sync_data { area_id area; sem_id disable_sem; diff --git a/src/add-ons/opengl/mesa_software_renderer/Jamfile b/src/add-ons/opengl/mesa_software_renderer/Jamfile index b9ab57070e..19d5c4dae1 100644 --- a/src/add-ons/opengl/mesa_software_renderer/Jamfile +++ b/src/add-ons/opengl/mesa_software_renderer/Jamfile @@ -26,7 +26,7 @@ if $(TARGET_PLATFORM) != haiku { SubDirC++Flags [ FDefines $(defines) ] ; } -UsePrivateHeaders opengl ; +UsePrivateHeaders interface opengl ; UseHeaders [ FDirName $(HAIKU_TOP) src kits opengl mesa ] ; UseHeaders [ FDirName $(HAIKU_TOP) src kits opengl mesa main ] ; diff --git a/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp b/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp index 2677af1162..a530f6c075 100644 --- a/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp +++ b/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp @@ -18,6 +18,7 @@ #include "MesaSoftwareRenderer.h" #include +#include #include #include @@ -563,11 +564,9 @@ MesaSoftwareRenderer::DirectConnected(direct_buffer_info *info) BAutolock lock(fInfoLocker); if (info) { if (!fInfo) { - // TODO size of info != sizeof(direct_buffer_info) - // see GLView.cpp in glview_direct_info::glview_direct_info() - fInfo = (direct_buffer_info *)calloc(1, B_PAGE_SIZE); + fInfo = (direct_buffer_info *)calloc(1, DIRECT_BUFFER_INFO_AREA_SIZE); } - memcpy(fInfo, info, B_PAGE_SIZE); + memcpy(fInfo, info, DIRECT_BUFFER_INFO_AREA_SIZE); } else if (fInfo) { free(fInfo); fInfo = NULL; diff --git a/src/kits/opengl/GLView.cpp b/src/kits/opengl/GLView.cpp index bc4c44c84f..a845ab3211 100644 --- a/src/kits/opengl/GLView.cpp +++ b/src/kits/opengl/GLView.cpp @@ -41,6 +41,7 @@ #include #include +#include "DirectWindowPrivate.h" #include "GLRendererRoster.h" struct glview_direct_info { @@ -568,7 +569,7 @@ const char * color_space_name(color_space space) glview_direct_info::glview_direct_info() { // TODO: See direct_window_data() in app_server's ServerWindow.cpp - direct_info = (direct_buffer_info *)calloc(1, B_PAGE_SIZE); + direct_info = (direct_buffer_info *)calloc(1, DIRECT_BUFFER_INFO_AREA_SIZE); direct_connected = false; enable_direct_mode = false; } diff --git a/src/kits/opengl/Jamfile b/src/kits/opengl/Jamfile index 635aa1571d..aad9ee919f 100644 --- a/src/kits/opengl/Jamfile +++ b/src/kits/opengl/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src kits opengl ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders opengl ; +UsePrivateHeaders interface opengl ; UsePrivateSystemHeaders ; if $(TARGET_PLATFORM) != haiku {