summaryrefslogtreecommitdiffstats
path: root/macosx/tkMacOSXMenubutton.c
diff options
context:
space:
mode:
authordas <das>2005-09-10 14:54:17 (GMT)
committerdas <das>2005-09-10 14:54:17 (GMT)
commit76648f8826cc5d85c8836ed753d8f40cf54c7c61 (patch)
treec5d114fa56aed882bdf4f126b2e1efcf0d19cb72 /macosx/tkMacOSXMenubutton.c
parentc4c55d923327af9e73920c60bb7f15d03b5c8194 (diff)
downloadtk-76648f8826cc5d85c8836ed753d8f40cf54c7c61.zip
tk-76648f8826cc5d85c8836ed753d8f40cf54c7c61.tar.gz
tk-76648f8826cc5d85c8836ed753d8f40cf54c7c61.tar.bz2
* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): check if
process is in front on MouseDown, otherwise request process activation from BringWindowForward() via new isFrontProcess param. * macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents): register our event handler on the dispatcher target for all carbon events of interest to TkAqua; this replaces event processing directly from the event queue and thus allows to capture events that are syntesized by Carbon and sent directly to the dispatcher and not to the event queue. * macosx/tkMacOSXEvent.c: remove TkMacOSXCountAndProcessMacEvents(), rename ReceiveAndProcessEvent() to TkMacOSXReceiveAndProcessEvent(). (TkMacOSXReceiveAndProcessEvent): remove tk event processing before sending events to the dispatcher, all events of interest are now processed in our dispatcher target event handler. * macosx/tkMacOSXNotify.c (CarbonEventsCheckProc): dispatch events directly via TkMacOSXReceiveAndProcessEvent(), but dispatch no more than four carbon events at one time to avoid starving other event sources. * macosx/tkMacOSXEvent.c: formatting cleanup, move XSync() to XStubs, * macosx/tkMacOSXEvent.h: removed obsolete kEventClassWish handling. * macosx/tkMacOSXXStubs.c * macosx/tkMacOSXButton.c: conditionalize all debug message printing to * macosx/tkMacOSXCursor.c: stderr via TK_MAC_DEBUG define. * macosx/tkMacOSXDebug.c: * macosx/tkMacOSXDebug.h: * macosx/tkMacOSXDialog.c: * macosx/tkMacOSXEvent.c: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMenubutton.c: * macosx/tkMacOSXScale.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: * unix/configure.in: define TK_MAC_DEBUG on aqua when symbols enabled. * unix/configure: autoconf-2.13 * library/listbox.tcl: corrected comments. * library/text.tcl: * xlib/xcolors.c: fixed warning
Diffstat (limited to 'macosx/tkMacOSXMenubutton.c')
-rw-r--r--macosx/tkMacOSXMenubutton.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/macosx/tkMacOSXMenubutton.c b/macosx/tkMacOSXMenubutton.c
index 4721b45..67d84ca 100644
--- a/macosx/tkMacOSXMenubutton.c
+++ b/macosx/tkMacOSXMenubutton.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkMacOSXMenubutton.c,v 1.2.2.2 2005/05/14 20:53:31 das Exp $
+ * RCS: @(#) $Id: tkMacOSXMenubutton.c,v 1.2.2.3 2005/09/10 14:54:17 das Exp $
*/
#include <Carbon/Carbon.h>
@@ -214,7 +214,9 @@ TkpDisplayMenuButton(
}
if (!mbPtr->userPane) {
if (MenuButtonInitControl(mbPtr,&paneRect,&cntrRect ) ) {
+#ifdef TK_MAC_DEBUG
fprintf(stderr,"Init Control failed\n" );
+#endif
return;
}
}
@@ -248,7 +250,9 @@ TkpDisplayMenuButton(
if (hasImageOrBitmap) {
err = SetControlFontStyle(mbPtr->control,&titleParams.style);
if (err !=noErr) {
+#ifdef TK_MAC_DEBUG
fprintf(stderr,"SetControlFontStyle failed %d\n", err);
+#endif
return;
}
}
@@ -268,7 +272,9 @@ TkpDisplayMenuButton(
/* Set the flag to circumvent clipping and bounds problems with OS 10.0.4 */
tkPictureIsOpen = 1;
if (!(mbPtr->bevelButtonContent.u.picture = OpenCPicture(&mbPtr->picParams)) ) {
+#ifdef TK_MAC_DEBUG
fprintf(stderr,"OpenCPicture failed\n");
+#endif
}
/*
* TO DO - There is one case where XCopyPlane calls CopyDeepMask,
@@ -290,7 +296,9 @@ TkpDisplayMenuButton(
sizeof(ControlButtonContentInfo),
(char *) &mbPtr->bevelButtonContent);
if (err != noErr) {
+#ifdef TK_MAC_DEBUG
fprintf(stderr,"SetControlData BevelButtonContent failed, %d\n", err );
+#endif
}
switch (butPtr->anchor) {
case TK_ANCHOR_N:
@@ -327,7 +335,9 @@ TkpDisplayMenuButton(
sizeof(ControlButtonGraphicAlignment),
(char *) &theAlignment);
if (err != noErr ) {
+#ifdef TK_MAC_DEBUG
fprintf(stderr,"SetControlData BevelButtonGraphicAlign failed, %d\n", err );
+#endif
}
}
if (butPtr->flags & GOT_FOCUS) {
@@ -628,12 +638,16 @@ MenuButtonInitControl (
procID,
controlReference );
if (!mbPtr->userPane) {
+#ifdef TK_MAC_DEBUG
fprintf(stderr,"Failed to create user pane control\n");
+#endif
return 1;
}
status = EmbedControl(mbPtr->userPane,rootControl);
if (status != noErr) {
+#ifdef TK_MAC_DEBUG
fprintf(stderr,"Failed to embed user pane control %d\n", status);
+#endif
return 1;
}
SetUserPaneSetUpSpecialBackgroundProc(mbPtr->userPane,
@@ -652,12 +666,16 @@ MenuButtonInitControl (
mbPtr->params.procID,
controlReference );
if (!mbPtr->control) {
+#ifdef TK_MAC_DEBUG
fprintf(stderr,"failed to create control of type %d : line %d\n",mbPtr->params.procID, __LINE__);
+#endif
return 1;
}
err = EmbedControl(mbPtr->control,mbPtr->userPane);
if (err != noErr ) {
+#ifdef TK_MAC_DEBUG
fprintf(stderr,"failed to embed control of type %d,%d\n",procID, err);
+#endif
return 1;
}
if (mbPtr->params.isBevel) {
@@ -669,7 +687,9 @@ MenuButtonInitControl (
if (mbPtr->titleParams.len) {
err = SetControlFontStyle(mbPtr->control,&mbPtr->titleParams.style);
if (err !=noErr) {
+#ifdef TK_MAC_DEBUG
fprintf(stderr,"SetControlFontStyle failed %d\n", err);
+#endif
return 1;
}
}