Less logging verbiage.
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage. * gdk/win32/gdkevents.c: Fix long-standing bug in key events. The key.string wasn't zero-terminated, still we strdup'ed it in gdk_event_copy(). Synthesize crossing events for button events before possible propagation. * gdk/win32/gdkwindow.c: Log gdk_window_set_title. * gdk/win32/makefile.cygwin * gtk/makefile.cygwin: Use new DLL naming style for the GCC-compiled ones. * gdk/win32/makefile.msc * gtk/makefile.msc: Cosmetics mostly. * gtk/gtk.def: Add missing entry points. * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
This commit is contained in:
@ -446,10 +446,10 @@ gdk_draw_pixmap (GdkDrawable *drawable,
|
||||
if (height == -1)
|
||||
height = src_private->height; /* Ditto? */
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_draw_pixmap: dest: %#x destdc: (%d) %#x "
|
||||
GDK_NOTE (MISC, g_print ("gdk_draw_pixmap: dest: %#x "
|
||||
"src: %#x %dx%d@+%d+%d"
|
||||
" dest: %#x @+%d+%d\n",
|
||||
drawable_private->xwindow, gc_private, hdc,
|
||||
drawable_private->xwindow,
|
||||
src_private->xwindow,
|
||||
width, height, xsrc, ysrc,
|
||||
drawable_private->xwindow, xdest, ydest));
|
||||
|
||||
@ -446,10 +446,10 @@ gdk_draw_pixmap (GdkDrawable *drawable,
|
||||
if (height == -1)
|
||||
height = src_private->height; /* Ditto? */
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_draw_pixmap: dest: %#x destdc: (%d) %#x "
|
||||
GDK_NOTE (MISC, g_print ("gdk_draw_pixmap: dest: %#x "
|
||||
"src: %#x %dx%d@+%d+%d"
|
||||
" dest: %#x @+%d+%d\n",
|
||||
drawable_private->xwindow, gc_private, hdc,
|
||||
drawable_private->xwindow,
|
||||
src_private->xwindow,
|
||||
width, height, xsrc, ysrc,
|
||||
drawable_private->xwindow, xdest, ydest));
|
||||
|
||||
@ -523,6 +523,7 @@ GdkEvent*
|
||||
gdk_event_copy (GdkEvent *event)
|
||||
{
|
||||
GdkEvent *new_event;
|
||||
gchar *s;
|
||||
|
||||
g_return_val_if_fail (event != NULL, NULL);
|
||||
|
||||
@ -535,7 +536,12 @@ gdk_event_copy (GdkEvent *event)
|
||||
{
|
||||
case GDK_KEY_PRESS:
|
||||
case GDK_KEY_RELEASE:
|
||||
new_event->key.string = g_strdup (event->key.string);
|
||||
if (event->key.length > 0)
|
||||
{
|
||||
s = event->key.string;
|
||||
new_event->key.string = g_malloc (event->key.length + 1);
|
||||
memcpy (new_event->key.string, s, event->key.length + 1);
|
||||
}
|
||||
break;
|
||||
|
||||
case GDK_ENTER_NOTIFY:
|
||||
@ -1578,9 +1584,9 @@ gdk_event_translate (GdkEvent *event,
|
||||
event->key.state |= GDK_CONTROL_MASK;
|
||||
if (xevent->wParam != VK_MENU && GetKeyState (VK_MENU) < 0)
|
||||
event->key.state |= GDK_MOD1_MASK;
|
||||
event->key.length = 0;
|
||||
return_val = window_private && !window_private->destroyed;
|
||||
event->key.string = NULL;
|
||||
event->key.length = 0;
|
||||
break;
|
||||
|
||||
case WM_CHAR:
|
||||
@ -1673,9 +1679,10 @@ gdk_event_translate (GdkEvent *event,
|
||||
}
|
||||
if (!is_AltGr_key && GetKeyState (VK_MENU) < 0)
|
||||
event->key.state |= GDK_MOD1_MASK;
|
||||
event->key.string = g_strdup (" ");
|
||||
event->key.string = g_malloc (2);
|
||||
event->key.length = 1;
|
||||
event->key.string[0] = xevent->wParam; /* ??? */
|
||||
event->key.string[1] = 0;
|
||||
|
||||
if (window_private->event_mask & GDK_KEY_PRESS_MASK)
|
||||
{
|
||||
@ -1686,9 +1693,10 @@ gdk_event_translate (GdkEvent *event,
|
||||
if (charcount > sizeof (buf)- 1)
|
||||
charcount = sizeof (buf) - 1;
|
||||
g_free (event2->key.string);
|
||||
event2->key.string = g_malloc (charcount);
|
||||
event2->key.string = g_malloc (charcount + 1);
|
||||
for (i = 0; i < charcount; i++)
|
||||
event2->key.string[i] = event->key.keyval;
|
||||
event2->key.string[charcount] = 0;
|
||||
event2->key.length = charcount;
|
||||
|
||||
gdk_event_queue_append (event2);
|
||||
@ -1724,9 +1732,10 @@ gdk_event_translate (GdkEvent *event,
|
||||
}
|
||||
if (!is_AltGr_key && GetKeyState (VK_MENU) < 0)
|
||||
event->key.state |= GDK_MOD1_MASK;
|
||||
event->key.string = g_malloc (charcount);
|
||||
event->key.string = g_malloc (charcount + 1);
|
||||
for (i = 0; i < charcount; i++)
|
||||
event->key.string[i] = event->key.keyval;
|
||||
event->key.string[charcount] = 0;
|
||||
event->key.length = charcount;
|
||||
}
|
||||
else
|
||||
@ -1759,6 +1768,9 @@ gdk_event_translate (GdkEvent *event,
|
||||
break;
|
||||
}
|
||||
|
||||
if (window != curWnd)
|
||||
synthesize_crossing_events (window, xevent);
|
||||
|
||||
event->button.type = GDK_BUTTON_PRESS;
|
||||
buttondown:
|
||||
event->button.window = window;
|
||||
@ -1832,9 +1844,6 @@ gdk_event_translate (GdkEvent *event,
|
||||
p_grab_automatic = TRUE;
|
||||
}
|
||||
|
||||
if (window != curWnd)
|
||||
synthesize_crossing_events (window, xevent);
|
||||
|
||||
event->button.time = xevent->time;
|
||||
event->button.x = LOWORD (xevent->lParam);
|
||||
event->button.y = HIWORD (xevent->lParam);
|
||||
@ -1939,6 +1948,9 @@ gdk_event_translate (GdkEvent *event,
|
||||
break;
|
||||
}
|
||||
|
||||
if (window != curWnd)
|
||||
synthesize_crossing_events (window, xevent);
|
||||
|
||||
event->button.type = GDK_BUTTON_RELEASE;
|
||||
buttonup:
|
||||
event->button.window = window;
|
||||
@ -2001,9 +2013,6 @@ gdk_event_translate (GdkEvent *event,
|
||||
}
|
||||
}
|
||||
|
||||
if (window != curWnd)
|
||||
synthesize_crossing_events (window, xevent);
|
||||
|
||||
event->button.time = xevent->time;
|
||||
event->button.x = LOWORD (xevent->lParam);
|
||||
event->button.y = HIWORD (xevent->lParam);
|
||||
|
||||
@ -523,6 +523,7 @@ GdkEvent*
|
||||
gdk_event_copy (GdkEvent *event)
|
||||
{
|
||||
GdkEvent *new_event;
|
||||
gchar *s;
|
||||
|
||||
g_return_val_if_fail (event != NULL, NULL);
|
||||
|
||||
@ -535,7 +536,12 @@ gdk_event_copy (GdkEvent *event)
|
||||
{
|
||||
case GDK_KEY_PRESS:
|
||||
case GDK_KEY_RELEASE:
|
||||
new_event->key.string = g_strdup (event->key.string);
|
||||
if (event->key.length > 0)
|
||||
{
|
||||
s = event->key.string;
|
||||
new_event->key.string = g_malloc (event->key.length + 1);
|
||||
memcpy (new_event->key.string, s, event->key.length + 1);
|
||||
}
|
||||
break;
|
||||
|
||||
case GDK_ENTER_NOTIFY:
|
||||
@ -1578,9 +1584,9 @@ gdk_event_translate (GdkEvent *event,
|
||||
event->key.state |= GDK_CONTROL_MASK;
|
||||
if (xevent->wParam != VK_MENU && GetKeyState (VK_MENU) < 0)
|
||||
event->key.state |= GDK_MOD1_MASK;
|
||||
event->key.length = 0;
|
||||
return_val = window_private && !window_private->destroyed;
|
||||
event->key.string = NULL;
|
||||
event->key.length = 0;
|
||||
break;
|
||||
|
||||
case WM_CHAR:
|
||||
@ -1673,9 +1679,10 @@ gdk_event_translate (GdkEvent *event,
|
||||
}
|
||||
if (!is_AltGr_key && GetKeyState (VK_MENU) < 0)
|
||||
event->key.state |= GDK_MOD1_MASK;
|
||||
event->key.string = g_strdup (" ");
|
||||
event->key.string = g_malloc (2);
|
||||
event->key.length = 1;
|
||||
event->key.string[0] = xevent->wParam; /* ??? */
|
||||
event->key.string[1] = 0;
|
||||
|
||||
if (window_private->event_mask & GDK_KEY_PRESS_MASK)
|
||||
{
|
||||
@ -1686,9 +1693,10 @@ gdk_event_translate (GdkEvent *event,
|
||||
if (charcount > sizeof (buf)- 1)
|
||||
charcount = sizeof (buf) - 1;
|
||||
g_free (event2->key.string);
|
||||
event2->key.string = g_malloc (charcount);
|
||||
event2->key.string = g_malloc (charcount + 1);
|
||||
for (i = 0; i < charcount; i++)
|
||||
event2->key.string[i] = event->key.keyval;
|
||||
event2->key.string[charcount] = 0;
|
||||
event2->key.length = charcount;
|
||||
|
||||
gdk_event_queue_append (event2);
|
||||
@ -1724,9 +1732,10 @@ gdk_event_translate (GdkEvent *event,
|
||||
}
|
||||
if (!is_AltGr_key && GetKeyState (VK_MENU) < 0)
|
||||
event->key.state |= GDK_MOD1_MASK;
|
||||
event->key.string = g_malloc (charcount);
|
||||
event->key.string = g_malloc (charcount + 1);
|
||||
for (i = 0; i < charcount; i++)
|
||||
event->key.string[i] = event->key.keyval;
|
||||
event->key.string[charcount] = 0;
|
||||
event->key.length = charcount;
|
||||
}
|
||||
else
|
||||
@ -1759,6 +1768,9 @@ gdk_event_translate (GdkEvent *event,
|
||||
break;
|
||||
}
|
||||
|
||||
if (window != curWnd)
|
||||
synthesize_crossing_events (window, xevent);
|
||||
|
||||
event->button.type = GDK_BUTTON_PRESS;
|
||||
buttondown:
|
||||
event->button.window = window;
|
||||
@ -1832,9 +1844,6 @@ gdk_event_translate (GdkEvent *event,
|
||||
p_grab_automatic = TRUE;
|
||||
}
|
||||
|
||||
if (window != curWnd)
|
||||
synthesize_crossing_events (window, xevent);
|
||||
|
||||
event->button.time = xevent->time;
|
||||
event->button.x = LOWORD (xevent->lParam);
|
||||
event->button.y = HIWORD (xevent->lParam);
|
||||
@ -1939,6 +1948,9 @@ gdk_event_translate (GdkEvent *event,
|
||||
break;
|
||||
}
|
||||
|
||||
if (window != curWnd)
|
||||
synthesize_crossing_events (window, xevent);
|
||||
|
||||
event->button.type = GDK_BUTTON_RELEASE;
|
||||
buttonup:
|
||||
event->button.window = window;
|
||||
@ -2001,9 +2013,6 @@ gdk_event_translate (GdkEvent *event,
|
||||
}
|
||||
}
|
||||
|
||||
if (window != curWnd)
|
||||
synthesize_crossing_events (window, xevent);
|
||||
|
||||
event->button.time = xevent->time;
|
||||
event->button.x = LOWORD (xevent->lParam);
|
||||
event->button.y = HIWORD (xevent->lParam);
|
||||
|
||||
@ -1383,6 +1383,8 @@ gdk_window_set_title (GdkWindow *window,
|
||||
g_return_if_fail (window != NULL);
|
||||
|
||||
private = (GdkWindowPrivate*) window;
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_set_title: %#x %s\n",
|
||||
private->xwindow, title));
|
||||
if (!private->destroyed)
|
||||
{
|
||||
if (!SetWindowText (private->xwindow, title))
|
||||
|
||||
@ -1383,6 +1383,8 @@ gdk_window_set_title (GdkWindow *window,
|
||||
g_return_if_fail (window != NULL);
|
||||
|
||||
private = (GdkWindowPrivate*) window;
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_set_title: %#x %s\n",
|
||||
private->xwindow, title));
|
||||
if (!private->destroyed)
|
||||
{
|
||||
if (!SetWindowText (private->xwindow, title))
|
||||
|
||||
@ -31,10 +31,10 @@ all: \
|
||||
gdk/gdkprivate.h \
|
||||
gdk/gdkx.h \
|
||||
../../config.h \
|
||||
gdk-$(GTK_VER).dll
|
||||
gdk-$(GTK_VER).gcc.dll
|
||||
|
||||
install : all
|
||||
$(INSTALL) gdk-$(GTK_VER).dll $(BIN)
|
||||
$(INSTALL) gdk-$(GTK_VER).gcc.dll $(BIN)
|
||||
|
||||
gdk_OBJECTS = \
|
||||
gdk.o \
|
||||
@ -86,8 +86,8 @@ gdk/gdkx.h : gdkx.h
|
||||
gdkres.o : rc/gdk.rc
|
||||
windres --include-dir rc rc/gdk.rc gdkres.o
|
||||
|
||||
gdk-$(GTK_VER).dll : $(gdk_OBJECTS) gdk.def gdkres.o libwntab32x.a
|
||||
$(GLIB)/build-dll gdk $(GTK_VER) gdk.def $(gdk_OBJECTS) -L $(GLIB) -lglib-$(GLIB_VER) -L . -lwntab32x -lgdi32 -luser32 -lshell32 -lole32 -luuid $(LDFLAGS) gdkres.o
|
||||
gdk-$(GTK_VER).gcc.dll : $(gdk_OBJECTS) gdk.def gdkres.o libwntab32x.a
|
||||
$(GLIB)/build-dll gdk $(GTK_VER).gcc gdk.def $(gdk_OBJECTS) -L $(GLIB) -lglib-$(GLIB_VER).gcc -L . -lwntab32x -lgdi32 -luser32 -lshell32 -lole32 -luuid $(LDFLAGS) gdkres.o
|
||||
|
||||
libwntab32x.a : $(WTKIT)/lib/i386/wntab32x.lib
|
||||
cp $(WTKIT)/lib/i386/wntab32x.lib libwntab32x.a
|
||||
@ -101,11 +101,5 @@ gdkrgb.c : ../gdkrgb.c
|
||||
gdkrectangle.c : ../gdkrectangle.c
|
||||
$(CP) ../gdkrectangle.c .
|
||||
|
||||
testgdk.exe : testgdk.o gdk-$(GTK_VER).dll
|
||||
$(CC) $(CFLAGS) -o $@ testgdk.o -L . -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) $(LDFLAGS)
|
||||
|
||||
testgdk.o : testgdk.c
|
||||
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testgdk\" testgdk.c
|
||||
|
||||
clean:
|
||||
-rm *.exe *.o *.dll *.a *.exp *.base
|
||||
|
||||
@ -8,21 +8,25 @@ BIN = C:\bin
|
||||
# Location of the Wintab toolkit. Downloadable from http://www.pointing.com.
|
||||
WTKIT = ..\..\..\wtkit126
|
||||
|
||||
# Full optimization:
|
||||
OPTIMIZE = -Ox
|
||||
# Debugging:
|
||||
#OPTIMIZE = -Zi
|
||||
|
||||
################################################################
|
||||
|
||||
# Nothing much configurable below
|
||||
|
||||
# cl -? describes the options
|
||||
CC = cl -G5 -GF $(OPTIMIZE) -W3 -MD -nologo
|
||||
!IFNDEF DEBUG
|
||||
# Full optimization:
|
||||
OPTIMIZE = -Ox -MD
|
||||
LINKDEBUG =
|
||||
!ELSE
|
||||
# Debugging:
|
||||
OPTIMIZE = -Zi -MDd
|
||||
LINKDEBUG = /debug
|
||||
!ENDIF
|
||||
|
||||
LDFLAGS = /link /machine:ix86 # /debug
|
||||
# cl -? describes the options
|
||||
CC = cl -G5 -GF $(OPTIMIZE) -W3 -nologo
|
||||
|
||||
LDFLAGS = /link /machine:ix86 $(LINKDEBUG)
|
||||
INSTALL = copy
|
||||
TOUCH = copy makefile.msc+nul
|
||||
|
||||
GLIB_VER=1.3
|
||||
GTK_VER=1.3
|
||||
@ -35,11 +39,9 @@ all: \
|
||||
gdk\gdkx.h \
|
||||
..\..\config.h \
|
||||
gdk-$(GTK_VER).dll
|
||||
$(TOUCH) all
|
||||
|
||||
install : all
|
||||
$(INSTALL) gdk-$(GTK_VER).dll $(BIN)
|
||||
$(TOUCH) install
|
||||
|
||||
gdk_OBJECTS = \
|
||||
gdk.obj \
|
||||
@ -103,13 +105,6 @@ gdkrgb.c : ..\gdkrgb.c
|
||||
gdkrectangle.c : ..\gdkrectangle.c
|
||||
copy ..\gdkrectangle.c .
|
||||
|
||||
|
||||
testgdk.exe : testgdk.obj gdk-$(GTK_VER).dll
|
||||
$(CC) $(CFLAGS) testgdk.obj gdk-$(GTK_VER).lib $(GLIB)\glib-$(GLIB_VER).lib $(LDFLAGS)
|
||||
|
||||
testgdk.obj : testgdk.c
|
||||
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testgdk\" testgdk.c
|
||||
|
||||
clean:
|
||||
del *.exe
|
||||
del *.obj
|
||||
@ -119,8 +114,6 @@ clean:
|
||||
del *.err
|
||||
del *.map
|
||||
del *.sym
|
||||
del *.lk1
|
||||
del *.mk1
|
||||
del *.res
|
||||
del *.pdb
|
||||
del *.ilk
|
||||
|
||||
Reference in New Issue
Block a user