#1647 Tk_GetBitmapFromData broken

obsolete: 8.3.3
closed-invalid
None
5
2001-10-06
2001-10-04
Anonymous
No

The now obsolete function Tk_GetBitmapFromData, if
used, will corrupt the bitmap hashtable causing much
grief later on... This problem appears to be present
in 8.4 as well.

To put your mind at ease, after fixing this bug in Tk,
I then went into my code and removed
Tk_GetBitmapFromData, replacing it with
Tk_DefineBitmap. If you don't fix the bug, then remove
the function altogether.

Thanks,
-Brian

The following fixes the problem:

$ cvs diff -p tkBitmap.c
Index: tkBitmap.c
===================================================================
RCS file: /cvsroot/tktoolkit/tk/generic/tkBitmap.c,v
retrieving revision 1.7.12.1
diff -p -r1.7.12.1 tkBitmap.c
*** tkBitmap.c 2001/04/04 07:57:16 1.7.12.1
--- tkBitmap.c 2001/10/04 22:15:41
*************** Tk_GetBitmapFromData(interp, tkwin,
sour
*** 818,825 ****
char string[16 + TCL_INTEGER_SPACE];
char *name;
TkDisplay *dispPtr = ((TkWindow *)
tkwin)->dispPtr;

! BitmapInit(dispPtr);

nameKey.source = source;
nameKey.width = width;
--- 818,829 ----
char string[16 + TCL_INTEGER_SPACE];
char *name;
TkDisplay *dispPtr = ((TkWindow *)
tkwin)->dispPtr;
+ ThreadSpecificData *tsdPtr = (ThreadSpecificData
*)
+ Tcl_GetThreadData(&dataKey,
sizeof(ThreadSpecificData));

! if (!tsdPtr->initialized) {
! BitmapInit(dispPtr);
! }

nameKey.source = source;
nameKey.width = width;

Discussion

  • Don Porter

    Don Porter - 2001-10-06
    • labels: 105686 -->
    • assigned_to: mdejong --> dgp
    • status: open --> closed-invalid
     
  • Don Porter

    Don Porter - 2001-10-06

    Logged In: YES
    user_id=80530

    This report concerns the interface of the Tk extension.
    It should be registered with the tktoolkit project,
    not the tcl project.

     
  • Brian Griffin

    Brian Griffin - 2001-10-10

    Logged In: YES
    user_id=22949

    So, should I reenter this report under tktoolkit project?

    By the way, this fix did not completely resolve the problem,
    but I didn't determine why.

    -Brian

     
  • Don Porter

    Don Porter - 2001-10-11

    Logged In: YES
    user_id=80530

    Yes, please. If you register this report with
    the tktoolkit project, then we can assign it
    to the appropriate maintainter for review.

    Sorry about the burden, but SF no longer provides
    a means to transfer a report from one project
    to another.

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks