Mercurial > hg > release > icedtea6-1.7
changeset 1745:7d2ae1d67c95
Merge
author | Andrew John Hughes <ahughes@redhat.com> |
---|---|
date | Mon, 26 Oct 2009 23:26:33 +0000 |
parents | ec4d712ef133 (current diff) b862917f2b93 (diff) |
children | a13ca3f99b51 b80f4a839fbb |
files | ChangeLog INSTALL |
diffstat | 3 files changed, 37 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Oct 22 17:31:06 2009 +0100 +++ b/ChangeLog Mon Oct 26 23:26:33 2009 +0000 @@ -3,6 +3,11 @@ * INSTALL: Update HotSpot build documentation. +2009-10-26 Jon VanAlten <jon.vanalten@redhat.com> + + * patches/icedtea-libraries.patch: Check for libjpeg.so.7. + * INSTALL: Indicate newer versions of libjpeg are supported. + 2009-10-22 Matthias Klose <doko@ubuntu.com> * gcjwebplugin.cc: Remove.
--- a/INSTALL Thu Oct 22 17:31:06 2009 +0100 +++ b/INSTALL Mon Oct 26 23:26:33 2009 +0000 @@ -27,7 +27,7 @@ libXinerama-devel giflib-devel libpng-devel -libjpeg-devel = 6b +libjpeg-devel >= 6b zlib-devel rhino (can be disabled using --without-rhino)
--- a/patches/icedtea-libraries.patch Thu Oct 22 17:31:06 2009 +0100 +++ b/patches/icedtea-libraries.patch Mon Oct 26 23:26:33 2009 +0000 @@ -25045,14 +25045,17 @@ } -@@ -2317,6 +2377,142 @@ +@@ -2317,6 +2377,145 @@ /********************** end of destination manager ************/ +METHODDEF(void) +initIDs() +{ -+ void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); ++ void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); ++ if (handle == NULL) { ++ handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); ++ } + + jpegstderror = (fn_jpegstderror)dlsym(handle, "jpeg_std_error"); + if (jpegstderror == NULL) { @@ -25188,7 +25191,7 @@ /********************** Writer JNI calls **********************/ -@@ -2328,6 +2524,8 @@ +@@ -2328,6 +2527,8 @@ jclass qTableClass, jclass huffClass) { @@ -25197,7 +25200,7 @@ ImageOutputStream_writeID = (*env)->GetMethodID(env, IOSClass, "write", -@@ -2401,7 +2599,7 @@ +@@ -2401,7 +2602,7 @@ } /* We set up the normal JPEG error routines, then override error_exit. */ @@ -25206,7 +25209,7 @@ jerr->pub.error_exit = sun_jpeg_error_exit; /* We need to setup our own print routines */ jerr->pub.output_message = sun_jpeg_output_message; -@@ -2418,7 +2616,7 @@ +@@ -2418,7 +2619,7 @@ } /* Perform library initialization */ @@ -25215,7 +25218,7 @@ /* Now set up the destination */ dest = malloc(sizeof(struct jpeg_destination_mgr)); -@@ -2527,7 +2725,7 @@ +@@ -2527,7 +2728,7 @@ return; } @@ -25224,7 +25227,7 @@ data->streamBuf.suspendable = FALSE; if (qtables != NULL) { -@@ -2542,7 +2740,7 @@ +@@ -2542,7 +2743,7 @@ DCHuffmanTables, ACHuffmanTables, TRUE); } @@ -25233,7 +25236,7 @@ RELEASE_ARRAYS(env, data, NULL); } -@@ -2698,9 +2896,9 @@ +@@ -2698,9 +2899,9 @@ cinfo->input_components = numBands; cinfo->in_color_space = inCs; @@ -25245,7 +25248,7 @@ cinfo->optimize_coding = optimize; -@@ -2737,7 +2935,7 @@ +@@ -2737,7 +2938,7 @@ (*env)->ReleaseIntArrayElements(env, QtableSelectors, qsels, JNI_ABORT); @@ -25254,7 +25257,7 @@ qlen = setQTables(env, (j_common_ptr) cinfo, qtables, writeDQT); -@@ -2762,7 +2960,7 @@ +@@ -2762,7 +2963,7 @@ if (progressive) { if (numScans == 0) { // then use default scans @@ -25263,7 +25266,7 @@ } else { cinfo->num_scans = numScans; // Copy the scanInfo to a local array -@@ -2804,7 +3002,7 @@ +@@ -2804,7 +3005,7 @@ #endif // start the compressor; tables must already be set @@ -25272,7 +25275,7 @@ if (haveMetadata) { // Flush the buffer -@@ -2868,7 +3066,7 @@ +@@ -2868,7 +3069,7 @@ } } // write it out @@ -25281,7 +25284,7 @@ targetLine += stepY; } -@@ -2877,9 +3075,9 @@ +@@ -2877,9 +3078,9 @@ * so use jpeg_abort instead of jpeg_finish_compress. */ if (cinfo->next_scanline == cinfo->image_height) { @@ -25339,11 +25342,14 @@ /* Initialize the Java VM instance variable when the library is first loaded */ JavaVM *jvm; -@@ -462,6 +490,68 @@ +@@ -462,6 +493,71 @@ Java_sun_awt_image_JPEGImageDecoder_initIDs(JNIEnv *env, jclass cls, jclass InputStreamClass) { -+ void *handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); ++ void *handle = dlopen("libjpeg.so.7", RTLD_LAZY | RTLD_GLOBAL); ++ if (handle == NULL) { ++ handle = dlopen("libjpeg.so.62", RTLD_LAZY | RTLD_GLOBAL); ++ } + + jpegstderror = (fn_jpegstderror)dlsym(handle, "jpeg_std_error"); + if (jpegstderror == NULL) { @@ -25408,7 +25414,7 @@ sendHeaderInfoID = (*env)->GetMethodID(env, cls, "sendHeaderInfo", "(IIZZZ)Z"); sendPixelsByteID = (*env)->GetMethodID(env, cls, "sendPixels", "([BI)Z"); -@@ -519,7 +609,7 @@ +@@ -519,7 +612,7 @@ /* Step 1: allocate and initialize JPEG decompression object */ /* We set up the normal JPEG error routines, then override error_exit. */ @@ -25417,7 +25423,7 @@ jerr.pub.error_exit = sun_jpeg_error_exit; /* We need to setup our own print routines */ -@@ -530,7 +620,7 @@ +@@ -530,7 +623,7 @@ /* If we get here, the JPEG code has signaled an error. * We need to clean up the JPEG object, close the input file, and return. */ @@ -25426,7 +25432,7 @@ RELEASE_ARRAYS(env, &jsrc); if (!(*env)->ExceptionOccurred(env)) { char buffer[JMSG_LENGTH_MAX]; -@@ -541,7 +631,7 @@ +@@ -541,7 +634,7 @@ return; } /* Now we can initialize the JPEG decompression object. */ @@ -25435,7 +25441,7 @@ /* Step 2: specify data source (eg, a file) */ -@@ -555,17 +645,17 @@ +@@ -555,17 +648,17 @@ jsrc.pub.init_source = sun_jpeg_init_source; jsrc.pub.fill_input_buffer = sun_jpeg_fill_input_buffer; jsrc.pub.skip_input_data = sun_jpeg_skip_input_data; @@ -25457,7 +25463,7 @@ grayscale = (cinfo.out_color_space == JCS_GRAYSCALE); #ifdef YCCALPHA hasalpha = (cinfo.out_color_space == JCS_RGBA); -@@ -584,7 +674,7 @@ +@@ -584,7 +677,7 @@ grayscale, hasalpha, buffered_mode); if ((*env)->ExceptionOccurred(env) || !ret) { /* No more interest in this image... */ @@ -25466,7 +25472,7 @@ return; } /* Make a one-row-high sample array with enough room to expand to ints */ -@@ -595,7 +685,7 @@ +@@ -595,7 +688,7 @@ } if (jsrc.hOutputBuffer == 0 || !GET_ARRAYS(env, &jsrc)) { @@ -25475,7 +25481,7 @@ return; } -@@ -613,7 +703,7 @@ +@@ -613,7 +706,7 @@ /* Step 5: Start decompressor */ @@ -25484,7 +25490,7 @@ /* We may need to do some setup of our own at this point before reading * the data. After jpeg_start_decompress() we have the correct scaled -@@ -638,28 +728,28 @@ +@@ -638,28 +731,28 @@ do { sun_jpeg_fill_suspended_buffer(&cinfo); jsrc.suspendable = TRUE; @@ -25517,7 +25523,7 @@ if (grayscale) { RELEASE_ARRAYS(env, &jsrc); -@@ -695,18 +785,18 @@ +@@ -695,18 +788,18 @@ if ((*env)->ExceptionOccurred(env) || !ret || !GET_ARRAYS(env, &jsrc)) { /* No more interest in this image... */ @@ -25539,7 +25545,7 @@ /* We can ignore the return value since suspension is not possible * with the stdio data source. * (nor with the Java data source) -@@ -715,7 +805,7 @@ +@@ -715,7 +808,7 @@ /* Step 8: Release JPEG decompression object */ /* This is an important step since it will release a good deal of memory. */