Tk-OS2src

 view release on metacpan or  search on metacpan

patches/diff_tk_os2_800_02a  view on Meta::CPAN

This diff is between a "working" version of Tk800.05 and the distribution.

This is the ONLY patch which is needed to make Tk800.05 work.  It is not
needed with Tk800.11 any more.

New file fix_4_os2.pl is included.  

(One may also need to manually edit fileevent() from basic_demo!)

diff -pru Tk800.0_02/pTk/Makefile.PL Tk800.0_02.my/pTk/Makefile.PL
--- Tk800.0_02/pTk/Makefile.PL	Fri Mar  6 14:05:18 1998
+++ Tk800.0_02.my/pTk/Makefile.PL	Mon Apr  6 21:33:42 1998
@@ -51,7 +51,7 @@ sub MY::post_initialize
   }
  elsif ($win_arch eq 'pm')
   {
-   @list = qw(os2 open32 xlib additions generic tixWin tixGeneric tclUnix tclGeneric );
+   @list = qw(os2 os2/unix open32 xlib additions generic tixWin tixGeneric tclUnix unix tclGeneric );
   }
  else
   {
diff -pru Tk800.0_02/pTk/mTk/generic/default.h Tk800.0_02.my/pTk/mTk/generic/default.h
--- Tk800.0_02/pTk/mTk/generic/default.h	Mon Feb  9 16:48:30 1998
+++ Tk800.0_02.my/pTk/mTk/generic/default.h	Sat Apr  4 01:59:24 1998
@@ -22,7 +22,11 @@
 #   if defined(MAC_TCL)
 #	include "tkMacDefault.h"
 #   else
-#	include "tkUnixDefault.h"
+#      ifdef __PM__
+#         include "tkOS2Default.h"
+#      else
+#         include "tkUnixDefault.h"
+#      endif
 #   endif
 #endif
 
diff -pru Tk800.0_02/pTk/mTk/generic/tkCanvPs.c Tk800.0_02.my/pTk/mTk/generic/tkCanvPs.c
--- Tk800.0_02/pTk/mTk/generic/tkCanvPs.c	Wed Feb 11 12:36:28 1998
+++ Tk800.0_02.my/pTk/mTk/generic/tkCanvPs.c	Sat Apr  4 01:59:24 1998
@@ -395,7 +395,7 @@ TkCanvPostscriptCmd(canvasPtr, interp, a
 
     Tcl_AppendResult(canvasPtr->interp, "%!PS-Adobe-3.0 EPSF-3.0\n",
 	    "%%Creator: Tk Canvas Widget\n", (char *) NULL);
-#if !(defined(__WIN32__) || defined(MAC_TCL))
+#if !(defined(__WIN32__) || defined(MAC_TCL) || defined(__EMX__))
     if (!Tcl_IsSafe(interp)) {
 	struct passwd *pwPtr = getpwuid(getuid());
 	Tcl_AppendResult(canvasPtr->interp, "%%For: ",
diff -pru Tk800.0_02/pTk/mTk/generic/tkWindow.c Tk800.0_02.my/pTk/mTk/generic/tkWindow.c
--- Tk800.0_02/pTk/mTk/generic/tkWindow.c	Fri Mar  6 07:58:12 1998
+++ Tk800.0_02.my/pTk/mTk/generic/tkWindow.c	Sat Apr  4 01:59:24 1998
@@ -1167,7 +1167,7 @@ Tk_DestroyWindow(tkwin)
 	TkWmRemoveFromColormapWindows(winPtr);
     }
     if (winPtr->window != None) {
-#if defined(MAC_TCL) || defined(__WIN32__)
+#if defined(MAC_TCL) || defined(__WIN32__) || defined(__PM__)
 	XDestroyWindow(winPtr->display, winPtr->window);
 #else
 	if ((winPtr->flags & TK_TOP_LEVEL)
diff -pru Tk800.0_02/pTk/mTk/tclUnix/tclUnixNotfy.c Tk800.0_02.my/pTk/mTk/tclUnix/tclUnixNotfy.c
--- Tk800.0_02/pTk/mTk/tclUnix/tclUnixNotfy.c	Mon Feb  9 16:48:44 1998
+++ Tk800.0_02.my/pTk/mTk/tclUnix/tclUnixNotfy.c	Tue Apr  7 03:42:12 1998
@@ -455,7 +455,12 @@ Tcl_WaitForEvent(timePtr)
 	timeout.tv_sec = timePtr->sec;
 	timeout.tv_usec = timePtr->usec;
 	timeoutPtr = &timeout;
-    } else if (notifier.numFdBits == 0) {
+    } else if (
+		notifier.numFdBits == 0
+#if defined(__EMX__) && (defined(__WIN32__) || defined(__PM__))
+		&& !Tcl_WaitForEventProc
+#endif
+	      ) {
 	return -1;
     } else {
 	timeoutPtr = NULL;
@@ -463,6 +468,12 @@ Tcl_WaitForEvent(timePtr)
 
     memcpy((VOID *) notifier.readyMasks, (VOID *) notifier.checkMasks,
 	    3*MASK_SIZE*sizeof(fd_mask));
+#if defined(__EMX__) && (defined(__WIN32__) || defined(__PM__))
+    if (Tcl_WaitForEventProc) {
+	numFound = (*Tcl_WaitForEventProc)(notifier.numFdBits, 
+					   notifier.readyMasks, timePtr);
+    } else
+#endif
     numFound = select(notifier.numFdBits,
 	    (SELECT_MASK *) &notifier.readyMasks[0],
 	    (SELECT_MASK *) &notifier.readyMasks[MASK_SIZE],
diff -pru Tk800.0_02/pTk/mTk/tixWin/tixWinDraw.c Tk800.0_02.my/pTk/mTk/tixWin/tixWinDraw.c
--- Tk800.0_02/pTk/mTk/tixWin/tixWinDraw.c	Mon Feb  9 16:48:54 1998
+++ Tk800.0_02.my/pTk/mTk/tixWin/tixWinDraw.c	Sat Apr  4 01:59:24 1998
@@ -72,6 +72,7 @@ TixpDrawTmpLine(x1, y1, x2, y2, tkwin)
  *----------------------------------------------------------------------
  */
 
+#ifndef __PM__
 void
 TixpDrawAnchorLines(display, drawable, gc, x, y, w, h)
     Display *display;
@@ -82,9 +83,6 @@ TixpDrawAnchorLines(display, drawable, g
     int w;
     int h;
 {
-#ifdef __PM__
-    panic("Not implemented: TixpDrawAnchorLines");



( run in 1.763 second using v1.01-cache-2.11-cpan-39bf76dae61 )