Changeset 1954
- Timestamp:
- Dec 3, 1999, 12:55:45 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/src/gdi32/gdi32.cpp ¶
r1948 r1954 1 /* $Id: gdi32.cpp,v 1.2 0 1999-12-02 18:46:21 achimhaExp $ */1 /* $Id: gdi32.cpp,v 1.21 1999-12-03 11:55:45 sandervl Exp $ */ 2 2 3 3 /* … … 282 282 { 283 283 dprintf(("GDI32: CreateDIBitmap\n")); 284 //TEMPORARY HACK TO PREVENT CRASH IN OPEN32 (WSeB GA) 285 if(arg2->biHeight < 0) { 286 ((BITMAPINFOHEADER *)arg2)->biHeight = -arg2->biHeight; 287 } 284 288 return O32_CreateDIBitmap(arg1, arg2, arg3, arg4, arg5, arg6); 285 289 } … … 667 671 HDC WIN32API CreateDCW( LPCWSTR arg1, LPCWSTR arg2, LPCWSTR arg3, const DEVMODEW * arg4) 668 672 { 673 char *astring4, *astring5; 674 669 675 char *astring1 = UnicodeToAsciiString((LPWSTR)arg1); 670 676 char *astring2 = UnicodeToAsciiString((LPWSTR)arg2); 671 677 char *astring3 = UnicodeToAsciiString((LPWSTR)arg3); 672 char *astring4 = UnicodeToAsciiString((LPWSTR)(arg4->dmDeviceName)); 673 char *astring5 = UnicodeToAsciiString((LPWSTR)(arg4->dmFormName)); 678 if(arg4) 679 { 680 astring4 = UnicodeToAsciiString((LPWSTR)(arg4->dmDeviceName)); 681 astring5 = UnicodeToAsciiString((LPWSTR)(arg4->dmFormName)); 682 } 674 683 675 684 HDC rc; … … 678 687 dprintf(("GDI32: CreateDCW")); 679 688 680 strcpy((char*)devmode.dmDeviceName, astring4); 681 strcpy((char*)devmode.dmFormName, astring5); 682 683 devmode.dmSpecVersion = arg4->dmSpecVersion; 684 devmode.dmDriverVersion = arg4->dmDriverVersion; 685 devmode.dmSize = arg4->dmSize; 686 devmode.dmDriverExtra = arg4->dmDriverExtra; 687 devmode.dmFields = arg4->dmFields; 688 devmode.dmOrientation = arg4->dmOrientation; 689 devmode.dmPaperSize = arg4->dmPaperSize; 690 devmode.dmPaperLength = arg4->dmPaperLength; 691 devmode.dmPaperWidth = arg4->dmPaperWidth; 692 devmode.dmScale = arg4->dmScale; 693 devmode.dmCopies = arg4->dmCopies; 694 devmode.dmDefaultSource = arg4->dmDefaultSource; 695 devmode.dmPrintQuality = arg4->dmPrintQuality; 696 devmode.dmColor = arg4->dmColor; 697 devmode.dmDuplex = arg4->dmDuplex; 698 devmode.dmYResolution = arg4->dmYResolution; 699 devmode.dmTTOption = arg4->dmTTOption; 700 devmode.dmCollate = arg4->dmCollate; 701 devmode.dmLogPixels = arg4->dmLogPixels; 702 devmode.dmBitsPerPel = arg4->dmBitsPerPel; 703 devmode.dmPelsWidth = arg4->dmPelsWidth; 704 devmode.dmPelsHeight = arg4->dmPelsHeight; 705 devmode.dmDisplayFlags = arg4->dmDisplayFlags; 706 devmode.dmDisplayFrequency = arg4->dmDisplayFrequency; 707 devmode.dmICMMethod = arg4->dmICMMethod; 708 devmode.dmICMIntent = arg4->dmICMIntent; 709 devmode.dmMediaType = arg4->dmMediaType; 710 devmode.dmDitherType = arg4->dmDitherType; 711 devmode.dmReserved1 = arg4->dmReserved1; 712 devmode.dmReserved2 = arg4->dmReserved2; 713 714 rc = O32_CreateDC(astring1,astring2,astring3,&devmode); 689 if(arg4) 690 { 691 strcpy((char*)devmode.dmDeviceName, astring4); 692 strcpy((char*)devmode.dmFormName, astring5); 693 694 devmode.dmSpecVersion = arg4->dmSpecVersion; 695 devmode.dmDriverVersion = arg4->dmDriverVersion; 696 devmode.dmSize = arg4->dmSize; 697 devmode.dmDriverExtra = arg4->dmDriverExtra; 698 devmode.dmFields = arg4->dmFields; 699 devmode.dmOrientation = arg4->dmOrientation; 700 devmode.dmPaperSize = arg4->dmPaperSize; 701 devmode.dmPaperLength = arg4->dmPaperLength; 702 devmode.dmPaperWidth = arg4->dmPaperWidth; 703 devmode.dmScale = arg4->dmScale; 704 devmode.dmCopies = arg4->dmCopies; 705 devmode.dmDefaultSource = arg4->dmDefaultSource; 706 devmode.dmPrintQuality = arg4->dmPrintQuality; 707 devmode.dmColor = arg4->dmColor; 708 devmode.dmDuplex = arg4->dmDuplex; 709 devmode.dmYResolution = arg4->dmYResolution; 710 devmode.dmTTOption = arg4->dmTTOption; 711 devmode.dmCollate = arg4->dmCollate; 712 devmode.dmLogPixels = arg4->dmLogPixels; 713 devmode.dmBitsPerPel = arg4->dmBitsPerPel; 714 devmode.dmPelsWidth = arg4->dmPelsWidth; 715 devmode.dmPelsHeight = arg4->dmPelsHeight; 716 devmode.dmDisplayFlags = arg4->dmDisplayFlags; 717 devmode.dmDisplayFrequency = arg4->dmDisplayFrequency; 718 devmode.dmICMMethod = arg4->dmICMMethod; 719 devmode.dmICMIntent = arg4->dmICMIntent; 720 devmode.dmMediaType = arg4->dmMediaType; 721 devmode.dmDitherType = arg4->dmDitherType; 722 devmode.dmReserved1 = arg4->dmReserved1; 723 devmode.dmReserved2 = arg4->dmReserved2; 724 725 rc = O32_CreateDC(astring1,astring2,astring3,&devmode); 726 } 727 else 728 rc = O32_CreateDC(astring1,astring2,astring3, NULL); 729 715 730 FreeAsciiString(astring1); 716 731 FreeAsciiString(astring2); 717 732 FreeAsciiString(astring3); 718 FreeAsciiString(astring4); 719 FreeAsciiString(astring5); 733 if(arg4) 734 { 735 FreeAsciiString(astring4); 736 FreeAsciiString(astring5); 737 } 720 738 721 739 return rc; … … 771 789 HDC WIN32API CreateICW( LPCWSTR arg1, LPCWSTR arg2, LPCWSTR arg3, const DEVMODEW * arg4) 772 790 { 791 char *astring4, *astring5; 792 773 793 char *astring1 = UnicodeToAsciiString((LPWSTR)arg1); 774 794 char *astring2 = UnicodeToAsciiString((LPWSTR)arg2); 775 795 char *astring3 = UnicodeToAsciiString((LPWSTR)arg3); 776 char *astring4 = UnicodeToAsciiString((LPWSTR)(arg4->dmDeviceName)); 777 char *astring5 = UnicodeToAsciiString((LPWSTR)(arg4->dmFormName)); 796 if(arg4) 797 { 798 astring4 = UnicodeToAsciiString((LPWSTR)(arg4->dmDeviceName)); 799 astring5 = UnicodeToAsciiString((LPWSTR)(arg4->dmFormName)); 800 } 778 801 779 802 HDC rc; … … 782 805 dprintf(("GDI32: CreateICW")); 783 806 784 strcpy((char*)devmode.dmDeviceName, astring4); 785 strcpy((char*)devmode.dmFormName, astring5); 786 787 devmode.dmSpecVersion = arg4->dmSpecVersion; 788 devmode.dmDriverVersion = arg4->dmDriverVersion; 789 devmode.dmSize = arg4->dmSize; 790 devmode.dmDriverExtra = arg4->dmDriverExtra; 791 devmode.dmFields = arg4->dmFields; 792 devmode.dmOrientation = arg4->dmOrientation; 793 devmode.dmPaperSize = arg4->dmPaperSize; 794 devmode.dmPaperLength = arg4->dmPaperLength; 795 devmode.dmPaperWidth = arg4->dmPaperWidth; 796 devmode.dmScale = arg4->dmScale; 797 devmode.dmCopies = arg4->dmCopies; 798 devmode.dmDefaultSource = arg4->dmDefaultSource; 799 devmode.dmPrintQuality = arg4->dmPrintQuality; 800 devmode.dmColor = arg4->dmColor; 801 devmode.dmDuplex = arg4->dmDuplex; 802 devmode.dmYResolution = arg4->dmYResolution; 803 devmode.dmTTOption = arg4->dmTTOption; 804 devmode.dmCollate = arg4->dmCollate; 805 devmode.dmLogPixels = arg4->dmLogPixels; 806 devmode.dmBitsPerPel = arg4->dmBitsPerPel; 807 devmode.dmPelsWidth = arg4->dmPelsWidth; 808 devmode.dmPelsHeight = arg4->dmPelsHeight; 809 devmode.dmDisplayFlags = arg4->dmDisplayFlags; 810 devmode.dmDisplayFrequency = arg4->dmDisplayFrequency; 811 devmode.dmICMMethod = arg4->dmICMMethod; 812 devmode.dmICMIntent = arg4->dmICMIntent; 813 devmode.dmMediaType = arg4->dmMediaType; 814 devmode.dmDitherType = arg4->dmDitherType; 815 devmode.dmReserved1 = arg4->dmReserved1; 816 devmode.dmReserved2 = arg4->dmReserved2; 817 818 rc = O32_CreateIC(astring1,astring2,astring3,&devmode); 807 if(arg4) 808 { 809 strcpy((char*)devmode.dmDeviceName, astring4); 810 strcpy((char*)devmode.dmFormName, astring5); 811 812 devmode.dmSpecVersion = arg4->dmSpecVersion; 813 devmode.dmDriverVersion = arg4->dmDriverVersion; 814 devmode.dmSize = arg4->dmSize; 815 devmode.dmDriverExtra = arg4->dmDriverExtra; 816 devmode.dmFields = arg4->dmFields; 817 devmode.dmOrientation = arg4->dmOrientation; 818 devmode.dmPaperSize = arg4->dmPaperSize; 819 devmode.dmPaperLength = arg4->dmPaperLength; 820 devmode.dmPaperWidth = arg4->dmPaperWidth; 821 devmode.dmScale = arg4->dmScale; 822 devmode.dmCopies = arg4->dmCopies; 823 devmode.dmDefaultSource = arg4->dmDefaultSource; 824 devmode.dmPrintQuality = arg4->dmPrintQuality; 825 devmode.dmColor = arg4->dmColor; 826 devmode.dmDuplex = arg4->dmDuplex; 827 devmode.dmYResolution = arg4->dmYResolution; 828 devmode.dmTTOption = arg4->dmTTOption; 829 devmode.dmCollate = arg4->dmCollate; 830 devmode.dmLogPixels = arg4->dmLogPixels; 831 devmode.dmBitsPerPel = arg4->dmBitsPerPel; 832 devmode.dmPelsWidth = arg4->dmPelsWidth; 833 devmode.dmPelsHeight = arg4->dmPelsHeight; 834 devmode.dmDisplayFlags = arg4->dmDisplayFlags; 835 devmode.dmDisplayFrequency = arg4->dmDisplayFrequency; 836 devmode.dmICMMethod = arg4->dmICMMethod; 837 devmode.dmICMIntent = arg4->dmICMIntent; 838 devmode.dmMediaType = arg4->dmMediaType; 839 devmode.dmDitherType = arg4->dmDitherType; 840 devmode.dmReserved1 = arg4->dmReserved1; 841 devmode.dmReserved2 = arg4->dmReserved2; 842 843 rc = O32_CreateIC(astring1,astring2,astring3,&devmode); 844 } 845 else 846 rc = O32_CreateIC(astring1,astring2,astring3, NULL); 847 819 848 FreeAsciiString(astring1); 820 849 FreeAsciiString(astring2); 821 850 FreeAsciiString(astring3); 822 FreeAsciiString(astring4); 823 FreeAsciiString(astring5); 851 if(arg4) 852 { 853 FreeAsciiString(astring4); 854 FreeAsciiString(astring5); 855 } 856 824 857 return rc; 825 858 }
Note:
See TracChangeset
for help on using the changeset viewer.