Commit 293d7877 authored by Hans Breuer's avatar Hans Breuer Committed by Hans Breuer

updated externals

2001-09-21  Hans Breuer  <hans@breuer.org>

	* gdk/gdk.def :
	* gtk/gtk.def : updated externals

	* gtk/gtkmain.h : define get_gtk_win32_directoty ()
	* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
	Also handle that Win32 pathes cann't be hard-coded

	* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
	module, themes etc directory calculations

	* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
	>16 bit right. The size limit within Win9x appears _not_ to be 32767
	but slightly smaller ...

	* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
	>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()

	* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()

	* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
	handling. I'm not sure if it is better now, but at least not worse

	* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup

	* gdk/win32/gdkwin32.h : reflect recent API restrictions
parent 35953cae
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com> 2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set
......
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com> 2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set
......
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com> 2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set
......
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com> 2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set
......
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com> 2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set
......
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com> 2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set
......
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com> 2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set
......
...@@ -35,7 +35,7 @@ EXPORTS ...@@ -35,7 +35,7 @@ EXPORTS
gdk_colors_alloc gdk_colors_alloc
gdk_colors_free gdk_colors_free
gdk_colors_store gdk_colors_store
gdk_core_pointer gdk_device_get_core_pointer
gdk_crossing_mode_get_type gdk_crossing_mode_get_type
gdk_cursor_new gdk_cursor_new
gdk_cursor_new_from_pixmap gdk_cursor_new_from_pixmap
...@@ -51,7 +51,6 @@ EXPORTS ...@@ -51,7 +51,6 @@ EXPORTS
gdk_device_set_mode gdk_device_set_mode
gdk_device_set_source gdk_device_set_source
gdk_devices_list gdk_devices_list
gdk_dnd_init
gdk_drag_abort gdk_drag_abort
gdk_drag_action_get_type gdk_drag_action_get_type
gdk_drag_begin gdk_drag_begin
...@@ -102,15 +101,10 @@ EXPORTS ...@@ -102,15 +101,10 @@ EXPORTS
gdk_drawable_unref gdk_drawable_unref
gdk_drop_finish gdk_drop_finish
gdk_drop_reply gdk_drop_reply
gdk_error_code
gdk_error_trap_pop gdk_error_trap_pop
gdk_error_trap_push gdk_error_trap_push
gdk_error_warnings
gdk_event_button_generate
gdk_event_copy gdk_event_copy
gdk_event_data
gdk_event_free gdk_event_free
gdk_event_func
gdk_event_get gdk_event_get
gdk_event_get_axis gdk_event_get_axis
gdk_event_get_graphics_expose gdk_event_get_graphics_expose
...@@ -119,16 +113,11 @@ EXPORTS ...@@ -119,16 +113,11 @@ EXPORTS
gdk_event_get_type gdk_event_get_type
gdk_event_handler_set gdk_event_handler_set
gdk_event_mask_get_type gdk_event_mask_get_type
gdk_event_new
gdk_event_peek gdk_event_peek
gdk_event_put gdk_event_put
gdk_event_queue_append
gdk_event_queue_find_first
gdk_event_queue_remove_link
gdk_event_send_client_message gdk_event_send_client_message
gdk_event_send_clientmessage_toall gdk_event_send_clientmessage_toall
gdk_event_type_get_type gdk_event_type_get_type
gdk_event_unqueue
gdk_events_pending gdk_events_pending
gdk_exit gdk_exit
gdk_extension_mode_get_type gdk_extension_mode_get_type
...@@ -177,7 +166,9 @@ EXPORTS ...@@ -177,7 +166,9 @@ EXPORTS
gdk_gc_set_tile gdk_gc_set_tile
gdk_gc_set_ts_origin gdk_gc_set_ts_origin
gdk_gc_unref gdk_gc_unref
gdk_get_default_root_window
gdk_get_display gdk_get_display
gdk_get_program_class
gdk_get_show_events gdk_get_show_events
gdk_get_use_xshm gdk_get_use_xshm
gdk_grab_status_get_type gdk_grab_status_get_type
...@@ -196,16 +187,12 @@ EXPORTS ...@@ -196,16 +187,12 @@ EXPORTS
gdk_input_add gdk_input_add
gdk_input_add_full gdk_input_add_full
gdk_input_condition_get_type gdk_input_condition_get_type
gdk_input_exit
gdk_input_init
gdk_input_mode_get_type gdk_input_mode_get_type
gdk_input_motion_events gdk_input_motion_events
gdk_input_remove gdk_input_remove
gdk_input_set_extension_events gdk_input_set_extension_events
gdk_input_source_get_type gdk_input_source_get_type
gdk_join_style_get_type gdk_join_style_get_type
gdk_key_repeat_disable
gdk_key_repeat_restore
gdk_keyboard_grab gdk_keyboard_grab
gdk_keyboard_ungrab gdk_keyboard_ungrab
gdk_keymap_get_default gdk_keymap_get_default
...@@ -234,9 +221,9 @@ EXPORTS ...@@ -234,9 +221,9 @@ EXPORTS
gdk_pango_context_get gdk_pango_context_get
gdk_pango_context_set_colormap gdk_pango_context_set_colormap
gdk_pango_layout_get_clip_region gdk_pango_layout_get_clip_region
gdk_parent_root
gdk_pixbuf_get_from_drawable gdk_pixbuf_get_from_drawable
gdk_pixbuf_render_pixmap_and_mask gdk_pixbuf_render_pixmap_and_mask
gdk_pixbuf_render_pixmap_and_mask_for_colormap
gdk_pixbuf_render_threshold_alpha gdk_pixbuf_render_threshold_alpha
gdk_pixbuf_render_to_drawable gdk_pixbuf_render_to_drawable
gdk_pixbuf_render_to_drawable_alpha gdk_pixbuf_render_to_drawable_alpha
...@@ -300,7 +287,6 @@ EXPORTS ...@@ -300,7 +287,6 @@ EXPORTS
gdk_selection_get_type gdk_selection_get_type
gdk_selection_owner_get gdk_selection_owner_get
gdk_selection_owner_set gdk_selection_owner_set
gdk_selection_property
gdk_selection_property_get gdk_selection_property_get
gdk_selection_send_notify gdk_selection_send_notify
gdk_set_double_click_time gdk_set_double_click_time
...@@ -344,6 +330,7 @@ EXPORTS ...@@ -344,6 +330,7 @@ EXPORTS
gdk_visual_get_type gdk_visual_get_type
gdk_visual_type_get_type gdk_visual_type_get_type
gdk_wcstombs gdk_wcstombs
gdk_win32_drawable_get_handle
gdk_win32_handle_table_lookup gdk_win32_handle_table_lookup
gdk_win32_hdc_get gdk_win32_hdc_get
gdk_win32_hdc_release gdk_win32_hdc_release
...@@ -416,6 +403,7 @@ EXPORTS ...@@ -416,6 +403,7 @@ EXPORTS
gdk_window_set_group gdk_window_set_group
gdk_window_set_hints gdk_window_set_hints
gdk_window_set_icon gdk_window_set_icon
gdk_window_set_icon_list
gdk_window_set_icon_name gdk_window_set_icon_name
gdk_window_set_modal_hint gdk_window_set_modal_hint
gdk_window_set_override_redirect gdk_window_set_override_redirect
......
...@@ -1087,3 +1087,9 @@ gdk_win32_get_visual (GdkDrawable *drawable) ...@@ -1087,3 +1087,9 @@ gdk_win32_get_visual (GdkDrawable *drawable)
{ {
return gdk_drawable_get_visual (GDK_DRAWABLE_IMPL_WIN32 (drawable)->wrapper); return gdk_drawable_get_visual (GDK_DRAWABLE_IMPL_WIN32 (drawable)->wrapper);
} }
HWND
gdk_win32_drawable_get_handle (GdkDrawable *drawable)
{
return GDK_DRAWABLE_HANDLE(drawable);
}
...@@ -233,7 +233,7 @@ real_window_procedure (HWND hwnd, ...@@ -233,7 +233,7 @@ real_window_procedure (HWND hwnd,
* GDK_EVENT_FUNC_FROM_WINDOW_PROC env var to get this * GDK_EVENT_FUNC_FROM_WINDOW_PROC env var to get this
* behaviour. * behaviour.
*/ */
if (gdk_event_func_from_window_proc && gdk_event_func) if (gdk_event_func_from_window_proc && _gdk_event_func)
{ {
GDK_THREADS_ENTER (); GDK_THREADS_ENTER ();
...@@ -2758,6 +2758,12 @@ gdk_event_translate (GdkEvent *event, ...@@ -2758,6 +2758,12 @@ gdk_event_translate (GdkEvent *event,
} }
break; break;
case WM_GETICON:
GDK_NOTE (EVENTS, g_print ("WM_GETICON: %#lx %s\n",
(gulong) msg->hwnd,
(ICON_BIG == msg->wParam ? "big" : "small")));
break;
case WM_SETCURSOR: case WM_SETCURSOR:
GDK_NOTE (EVENTS, g_print ("WM_SETCURSOR: %#lx %#x %#x\n", GDK_NOTE (EVENTS, g_print ("WM_SETCURSOR: %#lx %#x %#x\n",
(gulong) msg->hwnd, (gulong) msg->hwnd,
...@@ -2864,7 +2870,39 @@ gdk_event_translate (GdkEvent *event, ...@@ -2864,7 +2870,39 @@ gdk_event_translate (GdkEvent *event,
_gdk_input_configure_event (&event->configure, window); _gdk_input_configure_event (&event->configure, window);
} }
break; break;
#if 0
case WM_SIZING :
{
LPRECT lpr = (LPRECT) msg->lParam;
NONCLIENTMETRICS ncm;
ncm.cbSize = sizeof (NONCLIENTMETRICS);
SystemParametersInfo (SPI_GETNONCLIENTMETRICS, ncm.cbSize, &ncm, 0);
g_print ("WM_SIZING borderWidth %d captionHeight %d\n",
ncm.iBorderWidth, ncm.iCaptionHeight);
event->configure.type = GDK_CONFIGURE;
event->configure.window = window;
event->configure.x = lpr->left + ncm.iBorderWidth;
event->configure.y = lpr->top + ncm.iCaptionHeight;
event->configure.width = lpr->right - lpr->left - 2 * ncm.iBorderWidth;
event->configure.height = lpr->bottom - lpr->top - ncm.iCaptionHeight;
GDK_WINDOW_OBJECT (window)->x = event->configure.x;
GDK_WINDOW_OBJECT (window)->y = event->configure.y;
window_impl->width = event->configure.width;
window_impl->height = event->configure.height;
if (GDK_WINDOW_OBJECT (window)->resize_count > 1)
GDK_WINDOW_OBJECT (window)->resize_count -= 1;
return_val = !GDK_WINDOW_DESTROYED (window);
if (return_val
&& GDK_WINDOW_OBJECT (window)->extension_events != 0)
_gdk_input_configure_event (&event->configure, window);
}
break;
#endif
case WM_GETMINMAXINFO: case WM_GETMINMAXINFO:
GDK_NOTE (EVENTS, g_print ("WM_GETMINMAXINFO: %#lx\n", (gulong) msg->hwnd)); GDK_NOTE (EVENTS, g_print ("WM_GETMINMAXINFO: %#lx\n", (gulong) msg->hwnd));
...@@ -3234,12 +3272,14 @@ gdk_flush (void) ...@@ -3234,12 +3272,14 @@ gdk_flush (void)
{ {
MSG msg; MSG msg;
#if 0
/* Process all messages currently available */ /* Process all messages currently available */
while (PeekMessage (&msg, NULL, 0, 0, PM_REMOVE)) while (PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
{ {
TranslateMessage (&msg); /* Translate virt. key codes */ TranslateMessage (&msg); /* Translate virt. key codes */
DispatchMessage (&msg); /* Dispatch msg. to window */ DispatchMessage (&msg); /* Dispatch msg. to window */
} }
#endif
GdiFlush (); GdiFlush ();
} }
......
...@@ -36,6 +36,8 @@ ...@@ -36,6 +36,8 @@
#include "gdkdrawable-win32.h" #include "gdkdrawable-win32.h"
#include "gdkwindow-win32.h" #include "gdkwindow-win32.h"
#define SIZE_LIMIT 32000
typedef struct _GdkWindowQueueItem GdkWindowQueueItem; typedef struct _GdkWindowQueueItem GdkWindowQueueItem;
typedef struct _GdkWindowParentPos GdkWindowParentPos; typedef struct _GdkWindowParentPos GdkWindowParentPos;
...@@ -360,13 +362,13 @@ _gdk_window_move_resize_child (GdkWindow *window, ...@@ -360,13 +362,13 @@ _gdk_window_move_resize_child (GdkWindow *window,
if (d_xoffset > 0 || d_yoffset > 0) if (d_xoffset > 0 || d_yoffset > 0)
gdk_window_queue_translation (window, MAX (d_xoffset, 0), MAX (d_yoffset, 0)); gdk_window_queue_translation (window, MAX (d_xoffset, 0), MAX (d_yoffset, 0));
/* FIXME: /* FIXME:
*/ */
if (new_info.x + new_info.width > 32767) if (new_info.x + new_info.width > SIZE_LIMIT)
new_info.width = 32767 - new_info.x; new_info.width = SIZE_LIMIT - new_info.x;
if (new_info.y + new_info.height > 32767) if (new_info.y + new_info.height > SIZE_LIMIT)
new_info.height = 32767 - new_info.y; new_info.height = SIZE_LIMIT - new_info.y;
if (!SetWindowPos (GDK_WINDOW_HWND (window), NULL, if (!SetWindowPos (GDK_WINDOW_HWND (window), NULL,
new_info.x, new_info.y, new_info.width, new_info.height, new_info.x, new_info.y, new_info.width, new_info.height,
...@@ -441,7 +443,7 @@ gdk_window_compute_position (GdkWindowImplWin32 *window, ...@@ -441,7 +443,7 @@ gdk_window_compute_position (GdkWindowImplWin32 *window,
info->big = FALSE; info->big = FALSE;
if (window->width <= 32768) if (window->width <= SIZE_LIMIT)
{ {
info->width = window->width; info->width = window->width;
info->x = parent_pos->x + wrapper->x - parent_pos->win32_x; info->x = parent_pos->x + wrapper->x - parent_pos->win32_x;
...@@ -449,19 +451,19 @@ gdk_window_compute_position (GdkWindowImplWin32 *window, ...@@ -449,19 +451,19 @@ gdk_window_compute_position (GdkWindowImplWin32 *window,
else else
{ {
info->big = TRUE; info->big = TRUE;
info->width = 32768; info->width = SIZE_LIMIT;
if (parent_pos->x + wrapper->x < -16384) if (parent_pos->x + wrapper->x < -(SIZE_LIMIT/2))
{ {
if (parent_pos->x + wrapper->x + window->width < 16384) if (parent_pos->x + wrapper->x + window->width < (SIZE_LIMIT/2))
info->x = parent_pos->x + wrapper->x + window->width - 32768 - parent_pos->win32_x; info->x = parent_pos->x + wrapper->x + window->width - SIZE_LIMIT - parent_pos->win32_x;
else else
info->x = -16384 - parent_pos->win32_y; info->x = -(SIZE_LIMIT/2) - parent_pos->win32_y;
} }
else else
info->x = parent_pos->x + wrapper->x - parent_pos->win32_x; info->x = parent_pos->x + wrapper->x - parent_pos->win32_x;
} }
if (window->height <= 32768) if (window->height <= SIZE_LIMIT)
{ {
info->height = window->height; info->height = window->height;
info->y = parent_pos->y + wrapper->y - parent_pos->win32_y; info->y = parent_pos->y + wrapper->y - parent_pos->win32_y;
...@@ -469,13 +471,13 @@ gdk_window_compute_position (GdkWindowImplWin32 *window, ...@@ -469,13 +471,13 @@ gdk_window_compute_position (GdkWindowImplWin32 *window,
else else
{ {
info->big = TRUE; info->big = TRUE;
info->height = 32768; info->height = SIZE_LIMIT;
if (parent_pos->y + wrapper->y < -16384) if (parent_pos->y + wrapper->y < -(SIZE_LIMIT/2))
{ {
if (parent_pos->y + wrapper->y + window->height < 16384) if (parent_pos->y + wrapper->y + window->height < (SIZE_LIMIT/2))
info->y = parent_pos->y + wrapper->y + window->height - 32768 - parent_pos->win32_y; info->y = parent_pos->y + wrapper->y + window->height - SIZE_LIMIT - parent_pos->win32_y;
else else
info->y = -16384 - parent_pos->win32_y; info->y = -(SIZE_LIMIT/2) - parent_pos->win32_y;
} }
else else
info->y = parent_pos->y + wrapper->y - parent_pos->win32_y; info->y = parent_pos->y + wrapper->y - parent_pos->win32_y;
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#define __GDK_WIN32_H__ #define __GDK_WIN32_H__
#include <gdk/gdkprivate.h> #include <gdk/gdkprivate.h>
#include <gdk/gdkinternals.h>