diff options
Diffstat (limited to 'net-im/amsn/files/amsn-0.97.2-TkCximage.patch')
-rw-r--r-- | net-im/amsn/files/amsn-0.97.2-TkCximage.patch | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/net-im/amsn/files/amsn-0.97.2-TkCximage.patch b/net-im/amsn/files/amsn-0.97.2-TkCximage.patch new file mode 100644 index 000000000000..33c5edb4ea14 --- /dev/null +++ b/net-im/amsn/files/amsn-0.97.2-TkCximage.patch @@ -0,0 +1,113 @@ +--- trunk/amsn/utils/TkCximage/src/TkCximage.cpp 2008/10/03 21:20:28 10549 ++++ trunk/amsn/utils/TkCximage/src/TkCximage.cpp 2008/12/28 21:50:08 10818 +@@ -26,6 +26,65 @@ + char currenttime[30]; + FILE * logfile; + ++#define AVAILABLE_FORMATS 6 ++Tk_PhotoImageFormat cximageFormats[] = { ++ { ++ "cximage", ++ (Tk_ImageFileMatchProc *) ChanMatch, ++ (Tk_ImageStringMatchProc *) ObjMatch, ++ (Tk_ImageFileReadProc *) ChanRead, ++ (Tk_ImageStringReadProc *) ObjRead, ++ (Tk_ImageFileWriteProc *) ChanWrite, ++ (Tk_ImageStringWriteProc *) StringWrite ++ }, ++ { ++ "cxgif", ++ (Tk_ImageFileMatchProc *) ChanMatch, ++ (Tk_ImageStringMatchProc *) ObjMatch, ++ (Tk_ImageFileReadProc *) ChanRead, ++ (Tk_ImageStringReadProc *) ObjRead, ++ (Tk_ImageFileWriteProc *) ChanWrite, ++ (Tk_ImageStringWriteProc *) StringWrite ++ }, ++ { ++ "cxpng", ++ (Tk_ImageFileMatchProc *) ChanMatch, ++ (Tk_ImageStringMatchProc *) ObjMatch, ++ (Tk_ImageFileReadProc *) ChanRead, ++ (Tk_ImageStringReadProc *) ObjRead, ++ (Tk_ImageFileWriteProc *) ChanWrite, ++ (Tk_ImageStringWriteProc *) StringWrite ++ }, ++ { ++ "cxjpg", ++ (Tk_ImageFileMatchProc *) ChanMatch, ++ (Tk_ImageStringMatchProc *) ObjMatch, ++ (Tk_ImageFileReadProc *) ChanRead, ++ (Tk_ImageStringReadProc *) ObjRead, ++ (Tk_ImageFileWriteProc *) ChanWrite, ++ (Tk_ImageStringWriteProc *) StringWrite ++ }, ++ { ++ "cxtga", ++ (Tk_ImageFileMatchProc *) ChanMatch, ++ (Tk_ImageStringMatchProc *) ObjMatch, ++ (Tk_ImageFileReadProc *) ChanRead, ++ (Tk_ImageStringReadProc *) ObjRead, ++ (Tk_ImageFileWriteProc *) ChanWrite, ++ (Tk_ImageStringWriteProc *) StringWrite ++ }, ++ { ++ "cxbmp", ++ (Tk_ImageFileMatchProc *) ChanMatch, ++ (Tk_ImageStringMatchProc *) ObjMatch, ++ (Tk_ImageFileReadProc *) ChanRead, ++ (Tk_ImageStringReadProc *) ObjRead, ++ (Tk_ImageFileWriteProc *) ChanWrite, ++ (Tk_ImageStringWriteProc *) StringWrite ++ } ++}; ++ ++ + int RGB2BGR(Tk_PhotoImageBlock *data, BYTE * pixelPtr) { + int i; + int size = data->height * data->width * data->pixelSize; +@@ -267,10 +326,6 @@ + INITLOGS(); // + LOG("---------------------------------"); // + +- +- int AvailableFromats = 6; +- const char *KnownFormats[] = {"cximage", "cxgif", "cxpng", "cxjpg", "cxtga", "cxbmp"}; +- + //Check Tcl version is 8.3 or higher + if (Tcl_InitStubs(interp, TCL_VERSION, 1) == NULL) { + return TCL_ERROR; +@@ -285,15 +340,6 @@ + + LOG("Tk stub initialized"); // + +- Tk_PhotoImageFormat cximageFormats = { +- NULL, +- (Tk_ImageFileMatchProc *) ChanMatch, +- (Tk_ImageStringMatchProc *) ObjMatch, +- (Tk_ImageFileReadProc *) ChanRead, +- (Tk_ImageStringReadProc *) ObjRead, +- (Tk_ImageFileWriteProc *) ChanWrite, +- (Tk_ImageStringWriteProc *) StringWrite +- }; + + LOG("Creating commands"); // + +@@ -323,14 +369,9 @@ + #endif + + LOG("Adding format : "); // +- for (i = 0; i < AvailableFromats; i++) { +- delete cximageFormats.name; +- cximageFormats.name = new char[strlen(KnownFormats[i]) + 1]; +- strcpy(cximageFormats.name, KnownFormats[i]); +- Tk_CreatePhotoImageFormat(&cximageFormats); +- APPENDLOG(cximageFormats.name); // +- delete cximageFormats.name; +- cximageFormats.name = NULL; ++ for (i = 0; i < AVAILABLE_FORMATS; i++) { ++ Tk_CreatePhotoImageFormat(&cximageFormats[i]); ++ APPENDLOG(cximageFormats[i].name); // + } + + // end of Initialisation |