--- old/src/macosx/native/sun/awt/CPrinterJob.m 2014-07-15 14:39:33.000000000 +0400 +++ new/src/macosx/native/sun/awt/CPrinterJob.m 2014-07-15 14:39:33.000000000 +0400 @@ -523,6 +523,10 @@ NSPrintInfo* printInfo = (NSPrintInfo*)jlong_to_ptr(JNFCallLongMethod(env, jthis, sjm_getNSPrintInfo)); // AWT_THREADING Safe (known object) + // JTable.print attributes are ignored + jobject pageable = JNFCallObjectMethod(env, jthis, jm_getPageable); // AWT_THREADING Safe (!appKit) + javaPrinterJobToNSPrintInfo(env, jthis, pageable, printInfo); + // passing jthis CPrinterJob as well, so we can extract the printer name from the current job javaPageFormatToNSPrintInfo(env, jthis, page, printInfo); @@ -537,10 +541,6 @@ } } - // JTable.print attributes are ignored - jobject pageable = JNFCallObjectMethod(env, jthis, jm_getPageable); // AWT_THREADING Safe (!appKit) - javaPrinterJobToNSPrintInfo(env, jthis, pageable, printInfo); - PrintModel* printModel = [[PrintModel alloc] initWithPrintInfo:printInfo]; (void)[printModel runPrintLoopWithView:printerView waitUntilDone:blocks withEnv:env];