<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[129475] trunk/dports/science/pymol</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/129475">129475</a></dd>
<dt>Author</dt> <dd>ryandesign@macports.org</dd>
<dt>Date</dt> <dd>2014-12-13 14:12:42 -0800 (Sat, 13 Dec 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>pymol: update to 1.7.4.0 (maintainer, #46218)</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportssciencepymolPortfile">trunk/dports/science/pymol/Portfile</a></li>
<li><a href="#trunkdportssciencepymolfilespmg_tk_platformpatch">trunk/dports/science/pymol/files/pmg_tk_platform.patch</a></li>
<li><a href="#trunkdportssciencepymolfilespymolclangdiff">trunk/dports/science/pymol/files/pymol-clang.diff</a></li>
<li><a href="#trunkdportssciencepymolfilessetup_pydiff">trunk/dports/science/pymol/files/setup_py.diff</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkdportssciencepymolfilespymoluseglkitdiff">trunk/dports/science/pymol/files/pymol-use-glkit.diff</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkdportssciencepymolfilesapbs_tkinterpatch">trunk/dports/science/pymol/files/apbs_tkinter.patch</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportssciencepymolPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/science/pymol/Portfile (129474 => 129475)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/science/pymol/Portfile        2014-12-13 20:40:58 UTC (rev 129474)
+++ trunk/dports/science/pymol/Portfile        2014-12-13 22:12:42 UTC (rev 129475)
</span><span class="lines">@@ -6,7 +6,7 @@
</span><span class="cx"> PortGroup           active_variants 1.1
</span><span class="cx"> 
</span><span class="cx"> name                pymol
</span><del>-version             1.7.2.1
</del><ins>+version             1.7.4.0
</ins><span class="cx"> categories          science chemistry
</span><span class="cx"> license             PSF
</span><span class="cx"> maintainers         gmail.com:howarth.at.macports
</span><span class="lines">@@ -22,7 +22,7 @@
</span><span class="cx"> master_sites        sourceforge
</span><span class="cx"> fetch.type          svn
</span><span class="cx"> svn.url             https://svn.code.sf.net/p/pymol/code/trunk/pymol
</span><del>-svn.revision        4087
</del><ins>+svn.revision        4107
</ins><span class="cx"> worksrcdir          pymol
</span><span class="cx"> 
</span><span class="cx"> python.default_version 27
</span><span class="lines">@@ -46,9 +46,12 @@
</span><span class="cx">                     pymol_shell.diff \
</span><span class="cx">                     pmg_tk_platform.patch \
</span><span class="cx">                     apbs-psize.patch \
</span><del>-                    apbs_tkinter.patch \
-                    pymol-clang.diff 
</del><ins>+                    pymol-clang.diff
</ins><span class="cx"> 
</span><ins>+if {${os.platform} eq &quot;darwin&quot; &amp;&amp; ${os.major} &gt;= 12} {
+    patchfiles-append pymol-use-glkit.diff
+}
+
</ins><span class="cx"> require_active_variants tcl &quot;&quot; corefoundation
</span><span class="cx"> require_active_variants tk &quot;&quot; quartz
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkdportssciencepymolfilesapbs_tkinterpatch"></a>
<div class="delfile"><h4>Deleted: trunk/dports/science/pymol/files/apbs_tkinter.patch (129474 => 129475)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/science/pymol/files/apbs_tkinter.patch        2014-12-13 20:40:58 UTC (rev 129474)
+++ trunk/dports/science/pymol/files/apbs_tkinter.patch        2014-12-13 22:12:42 UTC (rev 129475)
</span><span class="lines">@@ -1,196 +0,0 @@
</span><del>---- modules/pmg_tk/startup/apbs_tools.py.orig
-+++ modules/pmg_tk/startup/apbs_tools.py
-@@ -612,7 +612,8 @@
-         # Set up the Main page
-         page = self.notebook.add('Main')
-         group = Pmw.Group(page,tag_text='Main options')
--        group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
-+        #group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
-+        group.grid(padx = 10, pady = 5, sticky=(N, S, E, W))
-         self.selection = Pmw.EntryField(group.interior(),
-                                         labelpos='w',
-                                         label_text='Selection to use: ',
-@@ -658,7 +659,8 @@
-         page = self.notebook.add('Configuration')

-         group = Pmw.Group(page,tag_text='Dielectric Constants')
--        group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
-+        #group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
-+        group.grid(padx = 4, pady = 5, sticky=(N, S, E, W))
-         group.grid(column=0, row=0)
-         self.interior_dielectric = Pmw.EntryField(group.interior(),labelpos='w',
-                                    label_text = 'Protein Dielectric:',
-@@ -677,7 +679,8 @@
-             #entry.pack(side='left',fill='both',expand=1,padx=4) # side-by-side
-             entry.pack(fill='x',expand=1,padx=4,pady=1) # vertical
-         group = Pmw.Group(page,tag_text='Other')
--        group.pack(fill='both',expand=1, padx=4, pady=5)
-+        #group.pack(fill='both',expand=1, padx=4, pady=5)
-+        group.grid(padx=4, pady=5, sticky=(N, S, E, W))
-         group.grid(column=1, row=1,columnspan=4)
-         self.max_mem_allowed = Pmw.EntryField(group.interior(),labelpos='w',
-                                               label_text = 'Maximum Memory Allowed (MB):',
-@@ -735,7 +738,8 @@


-         group = Pmw.Group(page,tag_text='Ions')
--        group.pack(fill='both',expand=1, padx=4, pady=5)
-+        #group.pack(fill='both',expand=1, padx=4, pady=5)
-+        group.grid(padx=4, pady=5, sticky=(N, S, E, W))
-         group.grid(column=0, row=1, )
-         self.ion_plus_one_conc = Pmw.EntryField(group.interior(),
-                                                 labelpos='w',
-@@ -794,7 +798,8 @@
-             entry.pack(fill='x',expand=1,padx=4)

-         group = Pmw.Group(page,tag_text = 'Coarse Mesh Length')
--        group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
-+        #group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
-+        group.grid(padx = 4, pady = 5, sticky=(N, S, E, W))
-         group.grid(column = 1, row = 0)
-         for coord in 'x y z'.split():
-             setattr(self,'grid_coarse_%s'%coord,Pmw.EntryField(group.interior(),
-@@ -809,7 +814,8 @@


-         group = Pmw.Group(page,tag_text = 'Fine Mesh Length')
--        group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
-+        #group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
-+        group.grid(padx = 4, pady = 5, sticky=(N, S, E, W))
-         group.grid(column = 2, row = 0)
-         for coord in 'x y z'.split():
-             setattr(self,'grid_fine_%s'%coord,Pmw.EntryField(group.interior(),
-@@ -824,7 +830,8 @@


-         group = Pmw.Group(page,tag_text = 'Grid Center')
--        group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
-+        #group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
-+        group.grid(padx = 4, pady = 5, sticky=(N, S, E, W))
-         group.grid(column = 3, row = 0)
-         for coord in 'x y z'.split():
-             setattr(self,'grid_center_%s'%coord,Pmw.EntryField(group.interior(),
-@@ -838,7 +845,8 @@
-             getattr(self,'grid_center_%s'%coord).pack(fill='x', expand=1, padx=4, pady=1)

-         group = Pmw.Group(page,tag_text = 'Grid Points')
--        group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
-+        #group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
-+        group.grid(padx = 4, pady = 5, sticky=(N, S, E, W))
-         group.grid(column = 4, row = 0)
-         for coord in 'x y z'.split():
-             setattr(self,'grid_points_%s'%coord,Pmw.EntryField(group.interior(),
-@@ -856,7 +864,8 @@
-         page.grid_columnconfigure(5,weight=1)
-         page = self.notebook.add('Program Locations')
-         group = Pmw.Group(page,tag_text='Locations')
--        group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
-+        #group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
-+        group.grid(padx = 10, pady = 5, sticky=(N, S, E, W))
-         def quickFileValidation(s):
-             if s == '': return Pmw.PARTIAL
-             elif os.path.isfile(s): return Pmw.OK
-@@ -955,7 +964,8 @@
-         
-         page = self.notebook.add('Temp File Locations')
-         group = Pmw.Group(page,tag_text='Locations')
--        group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
-+        #group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
-+        group.grid(padx = 10, pady = 5, sticky=(N, S, E, W))
-         self.pymol_generated_pqr_filename = Pmw.EntryField(group.interior(),
-                                                            labelpos = 'w',
-                                                            label_pyclass = FileDialogButtonClassFactory.get(self.setPymolGeneratedPqrFilename),
-@@ -1003,17 +1013,20 @@
-         page = self.notebook.add('Visualization (1)')
-         group = VisualizationGroup(page,tag_text='Visualization',visgroup_num=1)
-         self.visualization_group_1 = group
--        group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
-+        #group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
-+        group.grid(padx = 10, pady = 5, sticky=(N, S, E, W))

-         page = self.notebook.add('Visualization (2)')
-         group = VisualizationGroup(page,tag_text='Visualization',visgroup_num=2)
-         self.visualization_group_2 = group
--        group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
-+        #group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
-+        group.grid(padx = 10, pady = 5, sticky=(N, S, E, W))

-         # Create a couple of other empty pages
-         page = self.notebook.add('About')
-         group = Pmw.Group(page, tag_text='About PyMOL APBS Tools')
--        group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
-+        #group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
-+        group.grid(padx = 10, pady = 5, sticky=(N, S, E, W))
-         text = &quot;&quot;&quot;This plugin integrates PyMOL (http://PyMOL.org/) with APBS (http://www.poissonboltzmann.org/apbs/).

- Documentation may be found at
-@@ -2267,7 +2280,8 @@
-             self.update_buttonbox = Pmw.ButtonBox(self.mm_group.interior(), padx=0)
-             self.update_buttonbox.pack(side=LEFT)
-             self.update_buttonbox.add('Update',command=self.refresh)
--            self.mm_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=TOP)
-+            #self.mm_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=TOP)
-+            self.mm_group.grid(padx = 4, pady = 5, sticky=(N, S, E, W))

-             self.ms_group = Pmw.Group(self.interior(),tag_text='Molecular Surface')
-             self.ms_buttonbox = Pmw.ButtonBox(self.ms_group.interior(), padx=0)
-@@ -2317,8 +2331,9 @@
-                                             )
-             bars = (self.mol_surf_low,self.mol_surf_middle,self.mol_surf_high)
-             Pmw.alignlabels(bars)
--            for bar in bars: bar.pack(side=LEFT)
--            self.ms_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=LEFT)
-+            for bar in bars: bar.pack(expand = 1, side=LEFT)
-+            #self.ms_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=LEFT)
-+            self.ms_group.grid(column=0, row=1, padx = 4, pady = 5, rowspan = 2, sticky=(N, S, E, W))

-             self.fl_group = Pmw.Group(self.interior(),tag_text='Field Lines')
-             self.fl_buttonbox = Pmw.ButtonBox(self.fl_group.interior(), padx=0)
-@@ -2333,11 +2348,13 @@
-                                   text = &quot;&quot;&quot;Follows same coloring as surface.&quot;&quot;&quot;,
-                                   )
-             label.pack()
--            self.fl_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=TOP)
-+            #self.fl_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=TOP)
-+            self.fl_group.grid(column = 1, row=0, padx = 4, pady = 5)

-             self.pi_group = Pmw.Group(self.interior(),tag_text='Positive Isosurface')
-             self.pi_buttonbox = Pmw.ButtonBox(self.pi_group.interior(), padx=0)
--            self.pi_buttonbox.pack()
-+            #self.pi_buttonbox.pack()
-+            self.pi_buttonbox.grid()
-             self.pi_buttonbox.add('Show',command=self.showPosSurface)
-             self.pi_buttonbox.add('Hide',command=self.hidePosSurface)
-             self.pi_buttonbox.add('Update',command=self.updatePosSurface)
-@@ -2351,12 +2368,15 @@
-                                             datatype = 'real',
-                                             entryfield_validate = {'validator' : 'real', 'min':0}
-                                             )
--            self.pos_surf_val.pack(side=LEFT)
--            self.pi_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=LEFT)
-+            #self.pos_surf_val.pack(side=LEFT)
-+            self.pos_surf_val.grid()
-+            #self.pi_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=LEFT)
-+            self.pi_group.grid(column = 1, row = 1, padx = 4, pady = 5, sticky=(N, S, E, W))

-             self.ni_group = Pmw.Group(self.interior(),tag_text='Negative Isosurface')
-             self.ni_buttonbox = Pmw.ButtonBox(self.ni_group.interior(), padx=0)
--            self.ni_buttonbox.pack()
-+            #self.ni_buttonbox.pack()
-+            self.ni_buttonbox.grid()
-             self.ni_buttonbox.add('Show',command=self.showNegSurface)
-             self.ni_buttonbox.add('Hide',command=self.hideNegSurface)
-             self.ni_buttonbox.add('Update',command=self.updateNegSurface)
-@@ -2370,8 +2390,10 @@
-                                             datatype = 'real',
-                                             entryfield_validate = {'validator' : 'real', 'max':0}
-                                             )
--            self.neg_surf_val.pack(side=LEFT)
--            self.ni_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=LEFT)
-+            #self.neg_surf_val.pack(side=LEFT)
-+            self.neg_surf_val.grid()
-+            #self.ni_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=LEFT)
-+            self.ni_group.grid(column = 1, row=2, padx = 4, pady = 5, sticky=(N, S, E, W))



</del></span></pre></div>
<a id="trunkdportssciencepymolfilespmg_tk_platformpatch"></a>
<div class="modfile"><h4>Modified: trunk/dports/science/pymol/files/pmg_tk_platform.patch (129474 => 129475)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/science/pymol/files/pmg_tk_platform.patch        2014-12-13 20:40:58 UTC (rev 129474)
+++ trunk/dports/science/pymol/files/pmg_tk_platform.patch        2014-12-13 22:12:42 UTC (rev 129475)
</span><span class="lines">@@ -1,6 +1,30 @@
</span><del>---- modules/pmg_tk/skins/normal/__init__.py.orig
-+++ modules/pmg_tk/skins/normal/__init__.py
-@@ -236,7 +236,7 @@
</del><ins>+Index: modules/pmg_tk/PMGApp.py
+===================================================================
+--- modules/pmg_tk/PMGApp.py        (revision 4106)
++++ modules/pmg_tk/PMGApp.py        (working copy)
+@@ -210,7 +210,7 @@ class PMGApp(Pmw.MegaWidget):
+         self.fifo.put(cmmd)

+     def my_show(self,win,center=1):
+-        if sys.platform!='linux2':
++        if (sys.platform!='linux2') and (sys.platform!='darwin'):
+             win.show()
+         else: # autocenter, deiconify, and run mainloop
+             # this is a workaround for a bug in the
+@@ -228,7 +228,7 @@ class PMGApp(Pmw.MegaWidget):
+             win.deiconify()

+     def my_withdraw(self,win):
+-        if sys.platform!='linux2':
++        if (sys.platform!='linux2') or (sys.platform!='darwin'):
+             win.withdraw()
+         else: 
+             win.destroy()
+Index: modules/pmg_tk/skins/normal/__init__.py
+===================================================================
+--- modules/pmg_tk/skins/normal/__init__.py        (revision 4106)
++++ modules/pmg_tk/skins/normal/__init__.py        (working copy)
+@@ -271,7 +271,7 @@ class Normal(PMGSkin):
</ins><span class="cx">          self.buttonArea.destroy()
</span><span class="cx">  
</span><span class="cx">      def my_show(self,win,center=1):
</span><span class="lines">@@ -9,7 +33,7 @@
</span><span class="cx">              win.show()
</span><span class="cx">          else: # autocenter, deiconify, and run mainloop
</span><span class="cx">              # this is a workaround for a bug in the
</span><del>-@@ -255,13 +255,13 @@
</del><ins>+@@ -290,13 +290,13 @@ class Normal(PMGSkin):
</ins><span class="cx">  #         win.show()
</span><span class="cx">              
</span><span class="cx">      def my_withdraw(self,win):
</span><span class="lines">@@ -25,7 +49,7 @@
</span><span class="cx">              win.activate()
</span><span class="cx">          else: # autocenter, deiconify, and run mainloop
</span><span class="cx">              # this is a workaround for a bug in the
</span><del>-@@ -282,7 +282,7 @@
</del><ins>+@@ -317,7 +317,7 @@ class Normal(PMGSkin):
</ins><span class="cx">              win.mainloop()
</span><span class="cx">              
</span><span class="cx">      def my_deactivate(self,win):
</span><span class="lines">@@ -34,23 +58,3 @@
</span><span class="cx">              win.deactivate()
</span><span class="cx">          else: # autocenter, deiconify, and run mainloop
</span><span class="cx">              win.destroy()
</span><del>---- modules/pmg_tk/PMGApp.py.orig
-+++ modules/pmg_tk/PMGApp.py
-@@ -184,7 +184,7 @@
-         self.fifo.put(cmmd)

-     def my_show(self,win,center=1):
--        if sys.platform!='linux2':
-+        if (sys.platform!='linux2') and (sys.platform!='darwin'):
-             win.show()
-         else: # autocenter, deiconify, and run mainloop
-             # this is a workaround for a bug in the
-@@ -202,7 +202,7 @@
-             win.deiconify()

-     def my_withdraw(self,win):
--        if sys.platform!='linux2':
-+        if (sys.platform!='linux2') or (sys.platform!='darwin'):
-             win.withdraw()
-         else: 
-             win.destroy()
</del></span></pre></div>
<a id="trunkdportssciencepymolfilespymolclangdiff"></a>
<div class="modfile"><h4>Modified: trunk/dports/science/pymol/files/pymol-clang.diff (129474 => 129475)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/science/pymol/files/pymol-clang.diff        2014-12-13 20:40:58 UTC (rev 129474)
+++ trunk/dports/science/pymol/files/pymol-clang.diff        2014-12-13 22:12:42 UTC (rev 129475)
</span><span class="lines">@@ -1,815 +1,113 @@
</span><del>-Index: layer0/ShaderMgr.c
</del><ins>+Index: layer0/ShaderMgr.cpp
</ins><span class="cx"> ===================================================================
</span><del>---- layer0/ShaderMgr.c        (revision 4074)
-+++ layer0/ShaderMgr.c        (working copy)
-@@ -151,7 +151,7 @@
-     while (replaceStrings[i]){
-       slen = strlen(replaceStrings[i]);
-       rlen = strlen(replaceStrings[i+1]);
--      while(rstr=strstr(dest_line, replaceStrings[i])){
-+      while((rstr=strstr(dest_line, replaceStrings[i]))){
-         strcpy(tmp_line, rstr + slen);
-         strcpy(rstr, replaceStrings[i+1]);
-         strcpy(rstr+rlen, tmp_line);
-@@ -499,15 +499,15 @@
-   if (I){
-     GLenum err ;
-     glBindAttribLocation(I-&gt;id, VERTEX_POS, &quot;a_Vertex&quot;);
--    if (err = glGetError()){
-+    if ((err = glGetError())){
-       PRINTFB(G, FB_ShaderMgr, FB_Warnings) &quot;GLERROR: a_Vertex: %d\n&quot;, err ENDFB(G);
-     }
-     glBindAttribLocation(I-&gt;id, VERTEX_NORMAL, &quot;a_Normal&quot;);
--    if (err = glGetError()){
-+    if ((err = glGetError())){
-       PRINTFB(G, FB_ShaderMgr, FB_Warnings) &quot;GLERROR: a_Normal: %d\n&quot;, err ENDFB(G);
-     }
-     glBindAttribLocation(I-&gt;id, VERTEX_COLOR, &quot;a_Color&quot;);
--    if (err = glGetError()){
-+    if ((err = glGetError())){
-       PRINTFB(G, FB_ShaderMgr, FB_Warnings) &quot;GLERROR: a_Color: %d\n&quot;, err ENDFB(G);
-     }
-     CShaderPrg_Link(I);
-@@ -538,19 +538,19 @@
-   if (I){
-     GLenum err ;
-     glBindAttribLocation(I-&gt;id, CYLINDER_ORIGIN, &quot;attr_origin&quot;);
--    if (err = glGetError()){
-+    if ((err = glGetError())){
-       PRINTFB(G, FB_ShaderMgr, FB_Warnings) &quot;GLERROR: attr_origin: %d\n&quot;, err ENDFB(G);
-     }
-     glBindAttribLocation(I-&gt;id, CYLINDER_AXIS, &quot;attr_axis&quot;);
--    if (err = glGetError()){
-+    if ((err = glGetError())){
-       PRINTFB(G, FB_ShaderMgr, FB_Warnings) &quot;GLERROR: attr_axis: %d\n&quot;, err ENDFB(G);
-     }
-     glBindAttribLocation(I-&gt;id, CYLINDER_COLOR, &quot;attr_color&quot;);
--    if (err = glGetError()){
-+    if ((err = glGetError())){
-       PRINTFB(G, FB_ShaderMgr, FB_Warnings) &quot;GLERROR: attr_color: %d\n&quot;, err ENDFB(G);
-     }
-     glBindAttribLocation(I-&gt;id, CYLINDER_COLOR2, &quot;attr_color2&quot;);
--    if (err = glGetError()){
-+    if ((err = glGetError())){
-       PRINTFB(G, FB_ShaderMgr, FB_Warnings) &quot;GLERROR: attr_color2: %d\n&quot;, err ENDFB(G);
-     }
-     CShaderPrg_Link(I);          
-@@ -873,11 +873,11 @@
-     if (indicatorShader){
-       GLenum err ;
-       glBindAttribLocation(indicatorShader-&gt;id, VERTEX_POS, &quot;a_Vertex&quot;);
--      if (err = glGetError()){
-+      if ((err = glGetError())){
-         PRINTFB(G, FB_ShaderMgr, FB_Warnings) &quot;GLERROR: a_Vertex: %d\n&quot;, err ENDFB(G);
-       }
-       glBindAttribLocation(indicatorShader-&gt;id, VERTEX_COLOR, &quot;a_Color&quot;);
--      if (err = glGetError()){
-+      if ((err = glGetError())){
-         PRINTFB(G, FB_ShaderMgr, FB_Warnings) &quot;GLERROR: a_Color: %d\n&quot;, err ENDFB(G);
-       }
-       CShaderPrg_Link(indicatorShader);        
-Index: layer0/Map.c
-===================================================================
---- layer0/Map.c        (revision 4074)
-+++ layer0/Map.c        (working copy)
-@@ -588,7 +588,7 @@
-   register int *link = I-&gt;Link;
-   register int st, flag;
-   register int *i_ptr3, *i_ptr4, *i_ptr5;
--  register int *e_list;
-+  register int *e_list = NULL;
- #ifdef _MemoryCache_ON
-   register int block_offset = I-&gt;block_base + cCache_map_elist_offset;
-   register int group_id = I-&gt;group_id;
-Index: layer1/Basis.c
-===================================================================
---- layer1/Basis.c        (revision 4074)
-+++ layer1/Basis.c        (working copy)
-@@ -2868,11 +2868,11 @@
-   float ll;
-   CPrimitive *prm;
-   register int i;
--  register int *tempRef;
--  int n, h, q, x, y, z, j, k, l, e;
-+  register int *tempRef = NULL;
-+  int n = 0, h, q, x, y, z, j, k, l, e;
-   int extra_vert = 0;
-   float p[3], dd[3], *d1, *d2, vd[3], cx[3], cy[3];
--  float *tempVertex;
-+  float *tempVertex = NULL;
-   float xs, ys;
-   int remapMode = true;         /* remap mode means that some objects will span more
-                                  * than one voxel, so we have to worry about populating
-Index: layer1/CGO.c
-===================================================================
---- layer1/CGO.c        (revision 4074)
-+++ layer1/CGO.c        (working copy)
-@@ -47,7 +47,7 @@
- #define CLIP_NORMAL_VALUE(cv)  ((cv&gt;1.f) ? 127 :  (cv &lt; -1.f) ? -128 : pymol_roundf(((cv + 1.f)/2.f) * 255) - 128 )
</del><ins>+--- layer0/ShaderMgr.cpp        (revision 4107)
++++ layer0/ShaderMgr.cpp        (working copy)
+@@ -665,7 +665,7 @@ void CShaderPrg_Update_Shaders_For_Backg
+ }
</ins><span class="cx">  
</span><del>- #define CHECK_GL_ERROR_OK(printstr)        \
--  if (err = glGetError()){    \
-+  if ((err = glGetError())){    \
-      PRINTFB(I-&gt;G, FB_CGO, FB_Errors) printstr, err ENDFB(I-&gt;G);           \
-   }

-@@ -2310,7 +2310,7 @@
-   *num_total_vertices = 0;
-   *num_total_indexes = 0;

--  while(op = (CGO_MASK &amp; CGO_read_int(pc))) {
-+  while((op = (CGO_MASK &amp; CGO_read_int(pc)))) {
-     save_pc = pc;
-     err = 0;
-     switch (op) {
-@@ -4368,7 +4368,7 @@
-     GL_C_INT_TYPE *indexVals = 0;
-     int tot = 4 * 4 * 3 * num_total_cylinders;
-     short copyToLeftOver, copyColorToLeftOver, copyPickColorToLeftOver, copyAlphaToLeftOver, copyToReturnCGO ;
--    float *org_originVals;
-+    float *org_originVals= NULL;
-     float *org_axisVals;
-     float *org_colorVals;
-     float *org_color2Vals = NULL;
-@@ -7135,7 +7135,7 @@
-   int  texture_id = CGO_get_int(*pc);
-   float worldPos[4], screenMin[3], screenMax[3], textExtent[4];
-   CShaderPrg * shaderPrg;
--  int buf1, buf2, attr_worldpos, attr_screenoffset, attr_texcoords;
-+  int buf1 = 0, buf2 = 0, attr_worldpos, attr_screenoffset, attr_texcoords;
-   copy3f(*pc, worldPos);  worldPos[3] = 1.f;
-   copy3f(*pc+3, screenMin);
-   copy3f(*pc+6, screenMax);
-@@ -7176,7 +7176,7 @@
-   int  texture_id = CGO_get_int(*pc);
-   float worldPos[4], screenMin[3], screenMax[3], textExtent[4];
-   CShaderPrg * shaderPrg;
--  int buf1, buf2, attr_worldpos, attr_screenoffset, attr_texcoords;
-+  int buf1 = 0, buf2 = 0, attr_worldpos, attr_screenoffset, attr_texcoords;
-   copy3f(*pc, worldPos);  worldPos[3] = 1.f;
-   copy3f(*pc+3, screenMin);
-   copy3f(*pc+6, screenMax);
-@@ -9564,7 +9564,7 @@
- int CGOChangeShadersTo(CGO *I, int frommode, int tomode){
-   register float *pc = I-&gt;op;
-   int op = 0, totops = 0;
--  while(op = (CGO_MASK &amp; CGO_read_int(pc))) {
-+  while((op = (CGO_MASK &amp; CGO_read_int(pc)))) {
-     totops++;
-     switch (op) {
-     case CGO_ENABLE:
-Index: layer1/Ortho.c
</del><ins>+ int CShaderPrg_Reload(PyMOLGlobals * G, char *name, char *v, char *f){
+-  int status, howLong, needAttach = 0;
++  int status, howLong;
+   CShaderPrg * I = CShaderMgr_GetShaderPrg_NoSet(G-&gt;ShaderMgr, name);
+   if (!I){
+     CShaderMgr *SM = G-&gt;ShaderMgr;
+Index: layer0/Sphere.cpp
</ins><span class="cx"> ===================================================================
</span><del>---- layer1/Ortho.c        (revision 4074)
-+++ layer1/Ortho.c        (working copy)
-@@ -1020,7 +1020,7 @@
-         curLine = I-&gt;CurLine &amp; OrthoSaveLines;
-         if(I-&gt;PromptChar) {
-           strcpy(buffer, I-&gt;Line[curLine]);
--          if(PComplete(G, buffer + I-&gt;PromptChar, sizeof(OrthoLineType) - I-&gt;PromptChar));      /* just print, don't complete */
-+          PComplete(G, buffer + I-&gt;PromptChar, sizeof(OrthoLineType) - I-&gt;PromptChar);      /* just print, don't complete */
-         }
-       }
-       break;
-@@ -1400,7 +1400,7 @@
</del><ins>+--- layer0/Sphere.cpp        (revision 4107)
++++ layer0/Sphere.cpp        (working copy)
+@@ -32,6 +32,9 @@ Z* -------------------------------------
+ #define tau 0.8506508084F       /* t=(1+sqrt(5))/2, tau=t/sqrt(1+t^2)  */
+ #define one 0.5257311121F       /* one=1/sqrt(1+t^2) , unit sphere     */
</ins><span class="cx">  
</span><del>-   {
-     if (!I-&gt;bgCGO) {
--      CGO *cgo = CGONew(G), *cgo2;
-+      CGO *cgo = CGONew(G), *cgo2 = NULL;
-       ok &amp;= CGOBegin(cgo, GL_TRIANGLE_STRIP);
-       if (ok)
-         ok &amp;= CGOVertex(cgo, -1.f, -1.f, 0.98f);
-Index: layer1/P.c
-===================================================================
---- layer1/P.c        (revision 4074)
-+++ layer1/P.c        (working copy)
-@@ -1464,7 +1464,7 @@
- void PUnlockAPIAsGlut(PyMOLGlobals * G)
- {                               /* must call with unblocked interpreter */
-   PRINTFD(G, FB_Threads)
--    &quot; PUnlockAPIAsGlut-DEBUG: entered as thread 0x%x\n&quot;, PyThread_get_thread_ident()
-+    &quot; PUnlockAPIAsGlut-DEBUG: entered as thread 0x%lx\n&quot;, PyThread_get_thread_ident()
-     ENDFD;
-   PBlock(G);
-   PXDecRef(PyObject_CallFunction(G-&gt;P_inst-&gt;unlock, &quot;iO&quot;, 0, G-&gt;P_inst-&gt;cmd));  /* NOTE this may flush the command buffer! */
-@@ -1478,7 +1478,7 @@
- void PUnlockAPIAsGlutNoFlush(PyMOLGlobals * G)
- {                               /* must call with unblocked interpreter */
-   PRINTFD(G, FB_Threads)
--    &quot; PUnlockAPIAsGlut-DEBUG: entered as thread 0x%x\n&quot;, PyThread_get_thread_ident()
-+    &quot; PUnlockAPIAsGlut-DEBUG: entered as thread 0x%lx\n&quot;, PyThread_get_thread_ident()
-     ENDFD;
-   PBlock(G);
-   PXDecRef(PyObject_CallFunction(G-&gt;P_inst-&gt;unlock, &quot;iO&quot;, -1, G-&gt;P_inst-&gt;cmd)); /* prevents flushing of the buffer */
-@@ -1529,7 +1529,7 @@
- int PLockAPIAsGlut(PyMOLGlobals * G, int block_if_busy)
- {
-   PRINTFD(G, FB_Threads)
--    &quot;*PLockAPIAsGlut-DEBUG: entered as thread 0x%x\n&quot;, PyThread_get_thread_ident()
-+    &quot;*PLockAPIAsGlut-DEBUG: entered as thread 0x%lx\n&quot;, PyThread_get_thread_ident()
-     ENDFD;
</del><ins>++#define FAST_SPHERE_INIT
++
++#ifndef FAST_SPHERE_INIT
+ static const float start_points[13][3] = {
+   {tau, one, 0},
+   {-tau, one, 0},
+@@ -69,6 +72,7 @@ static const int icosahedron[21][3] = {
+   {7, 2, 9},
+   {6, 10, 2}
+ };
++#endif
</ins><span class="cx">  
</span><del>-   PBlock(G);
-@@ -1541,7 +1541,7 @@
-   PUnlockStatus(G);
</del><ins>+ static const int mesh[30][2] = {
+   {0, 3},
+@@ -103,8 +107,6 @@ static const int mesh[30][2] = {
+   {9, 10}
+ };
</ins><span class="cx">  
</span><del>-   PRINTFD(G, FB_Threads)
--    &quot;#PLockAPIAsGlut-DEBUG: acquiring lock as thread 0x%x\n&quot;, PyThread_get_thread_ident()
-+    &quot;#PLockAPIAsGlut-DEBUG: acquiring lock as thread 0x%lx\n&quot;, PyThread_get_thread_ident()
-     ENDFD;
</del><ins>+-#define FAST_SPHERE_INIT
+-
+ #ifdef FAST_SPHERE_INIT
+ #include&quot;SphereData.h&quot;
</ins><span class="cx">  
</span><del>-   if(!get_api_lock(G, block_if_busy)) {
-@@ -1559,7 +1559,7 @@
-        holding the API lock, therefore it is safe even through increment
-        isn't atomic. */
-     PRINTFD(G, FB_Threads)
--      &quot;-PLockAPIAsGlut-DEBUG: glut_thread_keep_out 0x%x\n&quot;, PyThread_get_thread_ident()
-+      &quot;-PLockAPIAsGlut-DEBUG: glut_thread_keep_out 0x%lx\n&quot;, PyThread_get_thread_ident()
-       ENDFD;

-     PXDecRef(PyObject_CallFunction(G-&gt;P_inst-&gt;unlock, &quot;iO&quot;, -1, G-&gt;P_inst-&gt;cmd));       /* prevent buffer flushing */
-@@ -2632,7 +2632,7 @@
-       /* don't run if we're currently banned */
-       char *buffer = 0;
-       int size, curSize = 0;
--      while(size = OrthoCommandOutSize(G)){
-+      while((size = OrthoCommandOutSize(G))){
-         if (!curSize){
-           buffer = VLACalloc(char, size);
-           curSize = size;
-@@ -2676,7 +2676,7 @@
-   int did_work = false;
-   char *buffer = 0;
-   int size, curSize = 0;
--  while(size = OrthoCommandOutSize(G)){
-+  while((size = OrthoCommandOutSize(G))){
-     if (!curSize){
-       buffer = VLACalloc(char, size);
-       curSize = size;
-@@ -2688,7 +2688,7 @@
-     OrthoCommandNest(G, 1);
-     did_work = true;
-     PRINTFD(G, FB_Threads)
--      &quot; PFlushFast-DEBUG: executing '%s' as thread 0x%x\n&quot;, buffer,
-+      &quot; PFlushFast-DEBUG: executing '%s' as thread 0x%lx\n&quot;, buffer,
-       PyThread_get_thread_ident()
-       ENDFD;
-     if(PyErr_Occurred()) {
-@@ -2784,7 +2784,7 @@
-       PXDecRef(PyObject_CallFunction(G-&gt;P_inst-&gt;unlock_c, &quot;O&quot;, G-&gt;P_inst-&gt;cmd));

-       PRINTFD(G, FB_Threads)
--        &quot; PAutoBlock-DEBUG: blocked 0x%x (0x%x, 0x%x, 0x%x)\n&quot;,
-+        &quot; PAutoBlock-DEBUG: blocked 0x%lx (0x%x, 0x%x, 0x%x)\n&quot;,
-         PyThread_get_thread_ident(), SavedThread[MAX_SAVED_THREAD - 1].id,
-         SavedThread[MAX_SAVED_THREAD - 2].id, SavedThread[MAX_SAVED_THREAD - 3].id ENDFD;

-@@ -2793,7 +2793,7 @@
-     a--;
-   }
-   PRINTFD(G, FB_Threads)
--    &quot; PAutoBlock-DEBUG: 0x%x not found, thus already blocked.\n&quot;,
-+    &quot; PAutoBlock-DEBUG: 0x%lx not found, thus already blocked.\n&quot;,
-     PyThread_get_thread_ident()
-     ENDFD;
-   return 0;
-@@ -2814,7 +2814,7 @@
-   SavedThreadRec *SavedThread = G-&gt;P_inst-&gt;savedThread;
-   /* NOTE: ASSUMES a locked API */
-   PRINTFD(G, FB_Threads)
--    &quot; PUnblock-DEBUG: entered as thread 0x%x\n&quot;, PyThread_get_thread_ident()
-+    &quot; PUnblock-DEBUG: entered as thread 0x%lx\n&quot;, PyThread_get_thread_ident()
-     ENDFD;

-   /* reserve a space while we have a lock */
-Index: layer1/Extrude.c
</del><ins>+Index: layer2/RepNonbonded.cpp
</ins><span class="cx"> ===================================================================
</span><del>---- layer1/Extrude.c        (revision 4074)
-+++ layer1/Extrude.c        (working copy)
-@@ -687,7 +687,7 @@
-   float *v;
-   float *n;
-   float *c;
--  float *sv, *sn, *tv, *tn, *tv1, *tn1, *TV, *TN;
-+  float *sv, *sn, *tv, *tn, *tv1, *tn1, *TV, *TN = NULL;
-   float v0[3];
-   int start, stop;
</del><ins>+--- layer2/RepNonbonded.cpp        (revision 4107)
++++ layer2/RepNonbonded.cpp        (working copy)
+@@ -199,7 +199,7 @@ static void RepNonbondedRender(RepNonbon
</ins><span class="cx">    int ok = true;
</span><del>-@@ -1387,7 +1387,7 @@
-   float *v;
-   float *n;
-   float *c;
--  float *sv, *sn, *tv, *tn, *tv1, *tn1, *TV, *TN;
-+  float *sv, *sn, *tv, *tn, *tv1, *tn1, *TV, *TN = NULL;
-   float v0[3];
-   int ok = true;
</del><ins>+   // 0.018f is found by trial and error
+   // TODO: this is not sufficient to solve the problem of disappearing cylinders
+-  float scale_bound = SettingGetGlobal_f(G, cSetting_field_of_view)  * cPI / 180.0f * 0.018f;
++  // float scale_bound = SettingGetGlobal_f(G, cSetting_field_of_view)  * cPI / 180.0f * 0.018f;
</ins><span class="cx">  
</span><del>-@@ -1705,7 +1705,7 @@
-   float *v;
-   float *n;
-   float *c;
--  float *sv, *sn, *tv, *tn, *tv1, *tn1, *TV, *TN;
-+  float *sv, *sn, *tv, *tn, *tv1, *tn1, *TV, *TN = NULL;
-   float v0[3], n0[3], s0[3], z[3] = { 1.0, 0.0, 1.0 };
-   int subN;
-   int ok = true;
-Index: layer1/Scene.c
-===================================================================
---- layer1/Scene.c        (revision 4074)
-+++ layer1/Scene.c        (working copy)
-@@ -7623,7 +7623,7 @@
-       /* update all gadgets first (single-threaded since they're thread-unsafe) */
-       rec = NULL;
-       while(ListIterate(I-&gt;Obj, rec, next)) {
--        if((rec-&gt;obj-&gt;type == cObjectGadget)) {
-+        if(rec-&gt;obj-&gt;type == cObjectGadget) {
-           if(rec-&gt;obj-&gt;fUpdate)
-             rec-&gt;obj-&gt;fUpdate(rec-&gt;obj);
-         }
-Index: layer1/Control.c
-===================================================================
---- layer1/Control.c        (revision 4074)
-+++ layer1/Control.c        (working copy)
-@@ -637,7 +637,7 @@
-       but_bottom = y - (cControlBoxSize - 1);
-       but_height = cControlBoxSize;
</del><ins>+   alpha =
+     SettingGet_f(G, I-&gt;R.cs-&gt;Setting, I-&gt;R.obj-&gt;Setting, cSetting_nonbonded_transparency);
+@@ -208,7 +208,6 @@ static void RepNonbondedRender(RepNonbon
+     alpha = 1.0F;
+   if(ray) {
+     float radius;
+-    float pixel_radius = ray-&gt;PixelRadius;
+     ray-&gt;transparentf(1.0F - alpha);
</ins><span class="cx">  
</span><del>--      if((but_num == I-&gt;Active)) {
-+      if(but_num == I-&gt;Active) {
-         draw_button(but_left, but_bottom,
-                     but_width, but_height, lightEdge, darkEdge, pushed ORTHOCGOARGVAR);
-       } else if(((but_num == 6) &amp;&amp; (SettingGetGlobal_b(G, cSetting_seq_view))) ||
-Index: layer2/RepSphere.c
</del><ins>+     if(I-&gt;Radius == 0.0F) {
+@@ -360,7 +359,6 @@ static void RepNonbondedRender(RepNonbon
+           CShaderPrg *shaderPrg;
+           if (nonbonded_as_cylinders){
+             // vertex scale is bound so that cylinders cannot disappear when it gets too low
+-            float vertex_scale = info-&gt;vertex_scale;
+             float pixel_scale_value = SettingGetGlobal_f(G, cSetting_ray_pixel_scale);
+             if(pixel_scale_value &lt; 0)
+               pixel_scale_value = 1.0F;
+@@ -596,7 +594,6 @@ static void RepNonbondedRender(RepNonbon
+           CShaderPrg *shaderPrg;
+           if (nonbonded_as_cylinders){
+             // vertex scale is bound so that cylinders cannot disappear when it gets too low
+-            float vertex_scale = info-&gt;vertex_scale;
+             float pixel_scale_value = SettingGetGlobal_f(G, cSetting_ray_pixel_scale);
+             if(pixel_scale_value &lt; 0)
+               pixel_scale_value = 1.0F;
+Index: layer2/RepWireBond.cpp
</ins><span class="cx"> ===================================================================
</span><del>---- layer2/RepSphere.c        (revision 4074)
-+++ layer2/RepSphere.c        (working copy)
-@@ -2204,8 +2204,8 @@
-   int c = I-&gt;N;
-   SphereRec *sp = I-&gt;SP;
-   float alpha;
--  int n_quad_verts;
--  float radius;
-+  int n_quad_verts = 0;
-+  float radius = 0.0;
-   int ok = true;
-   short use_shader = SettingGetGlobal_b(G, cSetting_sphere_use_shader) &amp; 
-                      SettingGetGlobal_b(G, cSetting_use_shaders);
-Index: layer2/ObjectMolecule2.c
</del><ins>+--- layer2/RepWireBond.cpp        (revision 4107)
++++ layer2/RepWireBond.cpp        (working copy)
+@@ -779,7 +779,6 @@ static void RepWireBondRender(RepWireBon
+           CShaderPrg *shaderPrg;
+           if (line_as_cylinders){
+             // vertex scale is bound so that cylinders cannot disappear when it gets too low
+-            float vertex_scale = info-&gt;vertex_scale;
+             float pixel_scale_value = SettingGetGlobal_f(G, cSetting_ray_pixel_scale);
+             if(pixel_scale_value &lt; 0)
+               pixel_scale_value = 1.0F;
+@@ -973,7 +972,6 @@ static void RepWireBondRender(RepWireBon
+           CShaderPrg *shaderPrg;
+           if (line_as_cylinders){
+             // vertex scale is bound so that cylinders cannot disappear when it gets too low
+-            float vertex_scale = info-&gt;vertex_scale;
+             float pixel_scale_value = SettingGetGlobal_f(G, cSetting_ray_pixel_scale);
+             if(pixel_scale_value &lt; 0)
+               pixel_scale_value = 1.0F;
+Index: layer3/Executive.cpp
</ins><span class="cx"> ===================================================================
</span><del>---- layer2/ObjectMolecule2.c        (revision 4074)
-+++ layer2/ObjectMolecule2.c        (working copy)
-@@ -3678,7 +3678,7 @@
- #else
-   int ok = true;
-   ObjectMolecule *I = NULL;
--  int discrete_flag;
-+  int discrete_flag = 0;
-   int ll;
-   (*result) = NULL;
</del><ins>+--- layer3/Executive.cpp        (revision 4107)
++++ layer3/Executive.cpp        (working copy)
+@@ -13978,7 +13978,6 @@ void ExecutiveFullScreen(PyMOLGlobals * 
</ins><span class="cx">  
</span><del>-@@ -4305,7 +4305,7 @@
-   register int a, b;
-   CoordSet *cs, **dcs;
-   AtomInfoType *atInfo;
--  int *dAtmToIdx;
-+  int *dAtmToIdx = NULL;
-   int ok = true;
-   if(!I-&gt;DiscreteFlag) {        /* currently, discrete objects are never sorted */
-     int n_bytes = sizeof(int) * I-&gt;NAtom;
-Index: layer2/RepDot.c
-===================================================================
---- layer2/RepDot.c        (revision 4074)
-+++ layer2/RepDot.c        (working copy)
-@@ -192,7 +192,7 @@
-               ok &amp;= CGOColorv(cgo, v);
-               v += 3;
-             }
--           /*      if(normals)  /* NORMALS do not get set for points 
-+           /*      if(normals)  NORMALS do not get set for points 
-                    CGONormalv(cgo, v);*/
-             v += 3;
-             if (ok)
-@@ -210,7 +210,7 @@
-             I-&gt;shaderCGO = CGOOptimizeSpheresToVBONonIndexed(cgo, CGO_BOUNDING_BOX_SZ + CGO_DRAW_SPHERE_BUFFERS_SZ);
-             CHECKOK(ok, I-&gt;shaderCGO);
-           } else {
--            CGO *convertcgo = CGOCombineBeginEnd(cgo, 0), *tmpCGO;
-+            CGO *convertcgo = CGOCombineBeginEnd(cgo, 0), *tmpCGO = NULL;
-             CHECKOK(ok, convertcgo);
-             if (ok)
-               tmpCGO = CGOOptimizeToVBONotIndexed(convertcgo, CGO_BOUNDING_BOX_SZ + I-&gt;N * 3 + 7);
-@@ -344,7 +344,7 @@
-   float *countPtr = NULL;
-   int colorCnt, lastColor;
-   Vector3f v1;
--  MapType *map;
-+  MapType *map = NULL;
-   SphereRec *sp = G-&gt;Sphere-&gt;Sphere[0];
-   int ds;
-   float max_vdw = MAX_VDW;
-Index: layer2/RepSurface.c
-===================================================================
---- layer2/RepSurface.c        (revision 4074)
-+++ layer2/RepSurface.c        (working copy)
-@@ -3304,7 +3304,7 @@
-             if (ok)
-               convertcgo-&gt;use_shader = true;
-           } else if (I-&gt;Type == 2) {
--            CGO *convertcgo2, *simple;
-+            CGO *convertcgo2, *simple = NULL;
-             convertcgo2 = CGOConvertLinesToShaderCylinders(I-&gt;shaderCGO, 0);
-             CHECKOK(ok, convertcgo2);
-             if (ok)
-@@ -4503,7 +4503,7 @@
-         }
-         ok &amp;= !G-&gt;Interrupt;
-         if(ok) {
--          MapType *map, *solv_map;
-+          MapType *map, *solv_map = NULL;
-           map = MapNewFlagged(G, I-&gt;maxVdw + probe_rad_more,
-                               I-&gt;coord, VLAGetSize(I-&gt;coord) / 3, NULL, NULL);
-           CHECKOK(ok, map);
-@@ -5747,7 +5747,7 @@
-                 SurfaceJobAtomInfo *j_atom_info = atom_info + j;
-                 if(j &gt; a)       /* only check if this is atom trails */
-                   if((!present) || present[j]) {
--                    if((j_atom_info-&gt;vdw == a_atom_info-&gt;vdw)) {        /* handle singularities */
-+                    if(j_atom_info-&gt;vdw == a_atom_info-&gt;vdw) {        /* handle singularities */
-                       float *v1 = coord + 3 * j;
-                       if((v0[0] == v1[0]) &amp;&amp; (v0[1] == v1[1]) &amp;&amp; (v0[2] == v1[2]))
-                         skip_flag = true;
-@@ -5842,7 +5842,7 @@
-                   SurfaceJobAtomInfo *j_atom_info = atom_info + j;
-                   if(j &gt; a)     /* only check if this is atom trails */
-                     if((!present) || present[j]) {
--                      if((j_atom_info-&gt;vdw == a_atom_info-&gt;vdw)) {      /* handle singularities */
-+                      if(j_atom_info-&gt;vdw == a_atom_info-&gt;vdw) {      /* handle singularities */
-                         float *v2 = coord + 3 * j;
-                         if((v0[0] == v2[0]) &amp;&amp; (v0[1] == v2[1]) &amp;&amp; (v0[2] == v2[2]))
-                           skip_flag = true;
-@@ -6002,7 +6002,7 @@
-                   SurfaceJobAtomInfo *j_atom_info = atom_info + j;
-                   if(j &gt; a)       /* only check if this is atom trails */
-                     if((!present) || present[j]) {
--                      if((j_atom_info-&gt;vdw == a_atom_info-&gt;vdw)) {        /* handle singularities */
-+                      if(j_atom_info-&gt;vdw == a_atom_info-&gt;vdw) {        /* handle singularities */
-                         float *v1 = coord + 3 * j;
-                         if((v0[0] == v1[0]) &amp;&amp; (v0[1] == v1[1]) &amp;&amp; (v0[2] == v1[2]))
-                           skip_flag = true;
-Index: layer2/RepCartoon.c
-===================================================================
---- layer2/RepCartoon.c        (revision 4074)
-+++ layer2/RepCartoon.c        (working copy)
-@@ -2615,7 +2615,7 @@

- #ifdef _PYMOL_CGO_DRAWARRAYS
-         int nverts = nAt * 4, pl = 0;
--        float *vertexVals, *tmp_ptr;
-+        float *vertexVals = NULL, *tmp_ptr;
-         if (ok)
-           vertexVals = CGODrawArrays(cgo, GL_LINES, CGO_VERTEX_ARRAY, nverts);      
-         CHECKOK(ok, vertexVals);
-Index: layer2/ObjectMolecule.c
-===================================================================
---- layer2/ObjectMolecule.c        (revision 4074)
-+++ layer2/ObjectMolecule.c        (working copy)
-@@ -1448,7 +1448,7 @@
-   int NPHIH, MPHIA, NHPARM, NPARM, NNB, NRES;
-   int NBONA, NTHETA, NPHIA, NUMBND, NUMANG, NPTRA;
-   int NATYP, NPHB, IFPERT, NBPER, NGPER, NDPER;
--  int MBPER, MGPER, MDPER, IFBOX, NMXRS, IFCAP;
-+  int MBPER, MGPER, MDPER, IFBOX = 0, NMXRS, IFCAP;
-   int NEXTRA, IPOL = 0;
-   int wid, col;
-   float BETA;
-@@ -2076,7 +2076,7 @@

-     if(IFBOX &gt; 0) {

--      int IPTRES, NSPM, NSPSOL;
-+      int IPTRES, NSPM = 0, NSPSOL;

-       if(amber7) {
-         p = findflag(G, buffer, &quot;SOLVENT_POINTERS&quot;, &quot;3I8&quot;);
-@@ -4431,7 +4431,7 @@
-   AtomInfoType *ai;
-   int n, nn;
-   float v[3], v0[3], d;
--  CoordSet *cs;
-+  CoordSet *cs = NULL;
-   int ok = true;

-   ok &amp;= ObjectMoleculeUpdateNeighbors(I);
-@@ -9767,7 +9767,7 @@
-                         CoordSet * cs, int bondSearchFlag, int aic_mask, int invalidate)
- {
-   PyMOLGlobals *G = I-&gt;Obj.G;
--  int *index, *outdex, *a2i, *i2a;
-+  int *index, *outdex, *a2i, *i2a = NULL;
-   BondType *bond = NULL;
-   register int a, b, lb = 0, ac;
-   int c, nb, a1, a2;
-@@ -10551,7 +10551,7 @@
-                 rms = MatrixFitRMSTTTf(G, op-&gt;nvv1, op-&gt;vv1, vt, NULL, op-&gt;ttt);
-               else
-                 rms = MatrixGetRMS(G, op-&gt;nvv1, op-&gt;vv1, vt, NULL);
--              if((op-&gt;i1 == 2)) {
-+              if(op-&gt;i1 == 2) {
-                 ObjectMoleculeTransformTTTf(I, op-&gt;ttt, b);

-                 if(op-&gt;i3) {
-Index: layer3/Selector.c
-===================================================================
---- layer3/Selector.c        (revision 4074)
-+++ layer3/Selector.c        (working copy)
-@@ -8658,11 +8658,11 @@
-     for(a = cNDummyAtoms; a &lt; I-&gt;NAtom; a++) {
-       b = i_obj[i_table[a].model]-&gt;AtomInfo[i_table[a].atom].protons;
-       base[0].sele[a] = (
--          b &gt;  2 &amp;&amp; b &lt;  5 ||
--          b &gt; 10 &amp;&amp; b &lt; 14 ||
--          b &gt; 18 &amp;&amp; b &lt; 32 ||
--          b &gt; 36 &amp;&amp; b &lt; 51 ||
--          b &gt; 54 &amp;&amp; b &lt; 85 ||
-+          (b &gt;  2 &amp;&amp; b &lt;  5) ||
-+          (b &gt; 10 &amp;&amp; b &lt; 14) ||
-+          (b &gt; 18 &amp;&amp; b &lt; 32) ||
-+          (b &gt; 36 &amp;&amp; b &lt; 51) ||
-+          (b &gt; 54 &amp;&amp; b &lt; 85) ||
-           b &gt; 86);
-     }
-     break;
-Index: layer3/Executive.c
-===================================================================
---- layer3/Executive.c        (revision 4074)
-+++ layer3/Executive.c        (working copy)
-@@ -15928,7 +15928,7 @@
-                           ExecutiveSpecSetVisibility(G, rec, true, mod, false);
-                           I-&gt;LastChanged = rec;
-                         }
--                        if((mod == (cOrthoSHIFT | cOrthoCTRL))) {
-+                        if(mod == (cOrthoSHIFT | cOrthoCTRL)) {
-                           if(rec != I-&gt;LastZoomed)
-                             ExecutiveWindowZoom(G, rec-&gt;name, 0.0F, -1, false, -1.0F,
-                                                 true);
-Index: layer3/PlugIOManager.c
-===================================================================
---- layer3/PlugIOManager.c        (revision 4074)
-+++ layer3/PlugIOManager.c        (working copy)
-@@ -229,7 +229,7 @@
-                       ENDFB(G);
-                   }

--                  if(stop &gt; 0 &amp;&amp; cnt &gt;= stop || max &gt; 0 &amp;&amp; ncnt &gt;= max) {
-+                  if((stop &gt; 0 &amp;&amp; cnt &gt;= stop) || (max &gt; 0 &amp;&amp; ncnt &gt;= max)) {
-                     cs = NULL;
-                     break;
-                   }
-Index: layer4/Cmd.c
-===================================================================
---- layer4/Cmd.c        (revision 4074)
-+++ layer4/Cmd.c        (working copy)
-@@ -128,7 +128,7 @@
- static void APIEnter(PyMOLGlobals * G)
- {                               /* assumes API is locked */
-   PRINTFD(G, FB_API)
--    &quot; APIEnter-DEBUG: as thread 0x%x.\n&quot;, PyThread_get_thread_ident()
-+    &quot; APIEnter-DEBUG: as thread 0x%lx.\n&quot;, PyThread_get_thread_ident()
-     ENDFD;

-   if(G-&gt;Terminating) {          /* try to bail */
-@@ -163,7 +163,7 @@
- {                               /* assumes API is locked */

-   PRINTFD(G, FB_API)
--    &quot; APIEnterBlocked-DEBUG: as thread 0x%x.\n&quot;, PyThread_get_thread_ident()
-+    &quot; APIEnterBlocked-DEBUG: as thread 0x%lx.\n&quot;, PyThread_get_thread_ident()
-     ENDFD;

-   if(G-&gt;Terminating) {          /* try to bail */
-@@ -199,7 +199,7 @@
-   if(!PIsGlutThread())
-     G-&gt;P_inst-&gt;glut_thread_keep_out--;
-   PRINTFD(G, FB_API)
--    &quot; APIExit-DEBUG: as thread 0x%x.\n&quot;, PyThread_get_thread_ident()
-+    &quot; APIExit-DEBUG: as thread 0x%lx.\n&quot;, PyThread_get_thread_ident()
-     ENDFD;
- }

-@@ -209,7 +209,7 @@
-   if(!PIsGlutThread())
-     G-&gt;P_inst-&gt;glut_thread_keep_out--;
-   PRINTFD(G, FB_API)
--    &quot; APIExitBlocked-DEBUG: as thread 0x%x.\n&quot;, PyThread_get_thread_ident()
-+    &quot; APIExitBlocked-DEBUG: as thread 0x%lx.\n&quot;, PyThread_get_thread_ident()
-     ENDFD;
- }

-@@ -1853,7 +1853,7 @@
- static PyObject *CmdGetRenderer(PyObject * self, PyObject * args)
- {
-   PyMOLGlobals *G = NULL;
--  char *vendor, *renderer, *version;
-+  char *vendor = NULL, *renderer = NULL, *version = NULL;
-   int ok = false;
-   ok = PyArg_ParseTuple(args, &quot;O&quot;, &amp;self);
-   if(ok) {
-Index: contrib/uiuc/plugins/molfile_plugin/src/pbeqplugin.cpp
-===================================================================
---- contrib/uiuc/plugins/molfile_plugin/src/pbeqplugin.cpp        (revision 4074)
-+++ contrib/uiuc/plugins/molfile_plugin/src/pbeqplugin.cpp        (working copy)
-@@ -259,7 +259,7 @@
-         int addr = z*nclx*ncly + y*nclx + x;
-         if (fread(datablock + addr, 4, 1, fd) != 1) {
-           printf(&quot;pbeqplugin) Error reading potential map cell: %d,%d,%d\n&quot;, x, y, z);
--          printf(&quot;pbeqplugin) offset: %d\n&quot;, ftell(fd));
-+          printf(&quot;pbeqplugin) offset: %ld\n&quot;, ftell(fd));
-           return MOLFILE_ERROR;
-         }
-         count++;
-Index: contrib/uiuc/plugins/molfile_plugin/src/dtrplugin.cpp
-===================================================================
---- contrib/uiuc/plugins/molfile_plugin/src/dtrplugin.cpp        (revision 4074)
-+++ contrib/uiuc/plugins/molfile_plugin/src/dtrplugin.cpp        (working copy)
-@@ -484,7 +484,7 @@
-         /* constant frame size */
-         if (keys[i].size() != m_framesize) {
-             fprintf(stderr, &quot;non-constant framesize at frame %ld\n&quot;, i);
--            printf(&quot;size %d framesize %d\n\n&quot;,
-+            printf(&quot;size %lld framesize %lld\n\n&quot;,
-                     keys[i].size(), m_framesize);
-             return true;
-         }
-@@ -1298,7 +1298,7 @@
-   }
-   Blob pos=blobs[&quot;POSITION&quot;];
-   if (pos.count != 3*natoms) {
--    fprintf(stderr, &quot;ERROR, Expected %d elements in POSITION; got %ld\n&quot;,
-+    fprintf(stderr, &quot;ERROR, Expected %d elements in POSITION; got %lld\n&quot;,
-         3*natoms, pos.count);
-     return MOLFILE_ERROR;
-   }
-@@ -1307,7 +1307,7 @@
-   if (with_velocity &amp;&amp; ts-&gt;velocities &amp;&amp; blobs.find(&quot;VELOCITY&quot;)!=blobs.end()) {
-     Blob vel=blobs[&quot;VELOCITY&quot;];
-     if (vel.count != 3*natoms) {
--      fprintf(stderr, &quot;ERROR, Expected %d elements in VELOCITY; got %ld\n&quot;,
-+      fprintf(stderr, &quot;ERROR, Expected %d elements in VELOCITY; got %lld\n&quot;,
-           3*natoms, vel.count);
-       return MOLFILE_ERROR;
-     }
-@@ -1569,7 +1569,7 @@
-   // if required, get velocities
-   if (ts-&gt;velocities &amp;&amp; velblob.count &gt; 0) {
-     if (velblob.count != 3*natoms) {
--      fprintf(stderr, &quot;VELOCITY field has %ld values; expected %d\n&quot;,
-+      fprintf(stderr, &quot;VELOCITY field has %lld values; expected %d\n&quot;,
-           velblob.count, 3*natoms);
-       return MOLFILE_ERROR;
-     }
-Index: contrib/uiuc/plugins/molfile_plugin/src/moldenplugin.c
-===================================================================
---- contrib/uiuc/plugins/molfile_plugin/src/moldenplugin.c        (revision 4074)
-+++ contrib/uiuc/plugins/molfile_plugin/src/moldenplugin.c        (working copy)
-@@ -99,7 +99,7 @@
-                               const char *filetype,
-                               int *natoms) {
-   FILE *fd;
--  qmdata_t *data;
-+  qmdata_t *data = NULL;
-   moldendata_t *moldendata;
-   char buffer[1024];
-   char keystring[20];
-Index: contrib/uiuc/plugins/molfile_plugin/src/vtfplugin.c
-===================================================================
---- contrib/uiuc/plugins/molfile_plugin/src/vtfplugin.c        (revision 4074)
-+++ contrib/uiuc/plugins/molfile_plugin/src/vtfplugin.c        (working copy)
-@@ -231,7 +231,7 @@
-     switch (tolower(keyword[0])) {
-     case 'n': {
-       /* name */
--      if (sscanf(s, &quot;%16s %n&quot;, &amp;atom.name, &amp;n) &lt; 1) {
-+      if (sscanf(s, &quot;%16s %n&quot;, (char *) &amp;atom.name, &amp;n) &lt; 1) {
-         vtf_error(&quot;could not get name in atom record&quot;, line);
-         return MOLFILE_ERROR;
-       }
-@@ -240,7 +240,7 @@
-     }
-     case 't': {
-       /* type */
--      if (sscanf(s, &quot;%16s %n&quot;, &amp;atom.type, &amp;n) &lt; 1) {
-+      if (sscanf(s, &quot;%16s %n&quot;, (char *) &amp;atom.type, &amp;n) &lt; 1) {
-         vtf_error(&quot;could not get type in atom record&quot;, line);
-         return MOLFILE_ERROR;
-       }
-@@ -266,7 +266,7 @@
-       } else if (strcmp(keyword, &quot;res&quot;) == 0 || 
-                  strcmp(keyword, &quot;resname&quot;) == 0) {
-         /* resname */
--        if (sscanf(s, &quot;%8s %n&quot;, &amp;atom.resname, &amp;n) &lt; 1) {
-+        if (sscanf(s, &quot;%8s %n&quot;, (char *) &amp;atom.resname, &amp;n) &lt; 1) {
-           vtf_error(&quot;could not get resname in atom record&quot;, line);
-           return MOLFILE_ERROR;
-         }
-@@ -281,7 +281,7 @@
-     }
-     case 's': {
-       /* segid */
--      if (sscanf(s, &quot;%8s %n&quot;, &amp;atom.segid, &amp;n) &lt; 1) {
-+      if (sscanf(s, &quot;%8s %n&quot;, (char *) &amp;atom.segid, &amp;n) &lt; 1) {
-         vtf_error(&quot;could not get segid in atom record&quot;, line);
-         return MOLFILE_ERROR;
-       }
-@@ -290,7 +290,7 @@
-     }
-     case 'i': {
-       /* insertion */
--      if (sscanf(s, &quot;%2s %n&quot;, &amp;atom.insertion, &amp;n) &lt; 1) {
-+      if (sscanf(s, &quot;%2s %n&quot;, (char *) &amp;atom.insertion, &amp;n) &lt; 1) {
-         vtf_error(&quot;could not get insertion in atom record&quot;, line);
-         return MOLFILE_ERROR;
-       }
-@@ -302,7 +302,7 @@
-       /* chain, charge */
-       if (strlen(keyword) == 1 || 
-           strcmp(keyword, &quot;chain&quot;) == 0) {
--        if (sscanf(s, &quot;%2s %n&quot;, &amp;atom.chain, &amp;n) &lt; 1) {
-+        if (sscanf(s, &quot;%2s %n&quot;, (char *) &amp;atom.chain, &amp;n) &lt; 1) {
-           vtf_error(&quot;could not get chain in atom record&quot;, line);
-           return MOLFILE_ERROR;
-         }
-@@ -336,7 +336,7 @@
-         }
-         d-&gt;optflags |= MOLFILE_ATOMICNUMBER;
-       } else if (strcmp(keyword, &quot;altloc&quot;)) {
--        if (sscanf(s, &quot;%2s %n&quot;, &amp;atom.altloc, &amp;n) &lt; 1) {
-+        if (sscanf(s, &quot;%2s %n&quot;, (char *) &amp;atom.altloc, &amp;n) &lt; 1) {
-           vtf_error(&quot;could not get altloc in atom record&quot;, line);
-           return MOLFILE_ERROR;
-         }
-Index: contrib/uiuc/plugins/molfile_plugin/src/gamessplugin.c
-===================================================================
---- contrib/uiuc/plugins/molfile_plugin/src/gamessplugin.c        (revision 4074)
-+++ contrib/uiuc/plugins/molfile_plugin/src/gamessplugin.c        (working copy)
-@@ -375,7 +375,7 @@
-                   const char *filetype, int *natoms) {

-   FILE *fd;
--  qmdata_t *data;
-+  qmdata_t *data = NULL;
-   gmsdata *gms;

-   /* open the input file */
-Index: contrib/uiuc/plugins/molfile_plugin/src/maeffplugin.cpp
-===================================================================
---- contrib/uiuc/plugins/molfile_plugin/src/maeffplugin.cpp        (revision 4074)
-+++ contrib/uiuc/plugins/molfile_plugin/src/maeffplugin.cpp        (working copy)
-@@ -1983,7 +1983,7 @@
-       }
-     }
-     catch (std::exception &amp;e) {
--      fprintf(stderr, e.what());
-+      fprintf(stderr, &quot;%s&quot;, e.what());
-       return MOLFILE_ERROR;
-     }
-     return MOLFILE_SUCCESS;
-Index: contrib/uiuc/plugins/molfile_plugin/src/graspplugin.cpp
-===================================================================
---- contrib/uiuc/plugins/molfile_plugin/src/graspplugin.cpp        (revision 4074)
-+++ contrib/uiuc/plugins/molfile_plugin/src/graspplugin.cpp        (working copy)
-@@ -104,7 +104,7 @@

-   ///ojo aqui le quite el  !
-   if ((grassp-&gt;flag)!=POTENTIALS) {
--    if (index &gt;=0 &amp;&amp; index &lt;= 4) 
-+    if (index &lt;= 4) 
-       printf(&quot;graspplugin) No data available for '%s' option\n&quot;, name[index]);
-     else 
-       printf(&quot;graspplugin) out of range property, flag: %d index: %d\n&quot;, grassp-&gt;flag, index);
-Index: modules/cealign/src/tnt/tnt_fortran_array1d.h
-===================================================================
---- modules/cealign/src/tnt/tnt_fortran_array1d.h        (revision 4074)
-+++ modules/cealign/src/tnt/tnt_fortran_array1d.h        (working copy)
-@@ -221,7 +221,7 @@
- #ifdef TNT_DEBUG
-                 std::cout &lt;&lt; &quot;entered subarray. \n&quot;;
- #endif
--        if ((i0 &gt; 0) &amp;&amp; (i1 &lt; n_) || (i0 &lt;= i1))
-+        if (((i0 &gt; 0) &amp;&amp; (i1 &lt; n_)) || (i0 &lt;= i1))
-         {
-                 Fortran_Array1D&lt;T&gt; X(*this);  /* create a new instance of this array. */
-                 X.n_ = i1-i0+1;
-Index: modules/cealign/src/tnt/tnt_array1d.h
-===================================================================
---- modules/cealign/src/tnt/tnt_array1d.h        (revision 4074)
-+++ modules/cealign/src/tnt/tnt_array1d.h        (working copy)
-@@ -258,7 +258,7 @@
- template &lt;class T&gt;
- inline Array1D&lt;T&gt; Array1D&lt;T&gt;::subarray(int i0, int i1)
- {
--        if ((i0 &gt;= 0) &amp;&amp; (i1 &lt; n_) || (i0 &lt;= i1))
-+        if (((i0 &gt;= 0) &amp;&amp; (i1 &lt; n_)) || (i0 &lt;= i1))
-         {
-                 Array1D&lt;T&gt; X(*this);  /* create a new instance of this array. */
-                 X.n_ = i1-i0+1;
</del><ins>+ #ifndef _PYMOL_NO_GLUT
+   if(G-&gt;HaveGUI &amp;&amp; G-&gt;ValidContext) {
+-    CExecutive *I = G-&gt;Executive;
+     if (flag) {
+ #ifndef GLUT_FULL_SCREEN
+       if(wm_flag &lt; 1) {
</ins></span></pre></div>
<a id="trunkdportssciencepymolfilespymoluseglkitdiff"></a>
<div class="addfile"><h4>Added: trunk/dports/science/pymol/files/pymol-use-glkit.diff (0 => 129475)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/science/pymol/files/pymol-use-glkit.diff                                (rev 0)
+++ trunk/dports/science/pymol/files/pymol-use-glkit.diff        2014-12-13 22:12:42 UTC (rev 129475)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+Index: layer1/Scene.cpp
+===================================================================
+--- layer1/Scene.cpp        (revision 4106)
++++ layer1/Scene.cpp        (working copy)
+@@ -57,6 +57,8 @@ Z* -------------------------------------
+ #include&quot;ScrollBar.h&quot;
+ #include &quot;ShaderMgr.h&quot;

++#include &lt;GLKit/GLKMatrix4.h&gt;
++
+ #ifdef _PYMOL_IP_EXTRAS
+ #include &quot;IncentiveCopyToClipboard.h&quot;
+ #endif
+@@ -9156,7 +9158,8 @@ void SceneRender(PyMOLGlobals * G, Picki
+     }
+     if(!SettingGetGlobal_b(G, cSetting_ortho)) {
+       float fov = SettingGetGlobal_f(G, cSetting_field_of_view);
+-      gluPerspective(fov, aspRat, I-&gt;FrontSafe, I-&gt;BackSafe);
++      // gluPerspective(fov, aspRat, I-&gt;FrontSafe, I-&gt;BackSafe);
++      glMultMatrixf(GLKMatrix4MakePerspective(fov*PI/180., aspRat, I-&gt;FrontSafe, I-&gt;BackSafe).m);
+     } else {
+       height = fmax(R_SMALL4, -I-&gt;Pos[2]) * GetFovWidth(G) / 2.f;
+       width = height * aspRat;
+Index: setup.py
+===================================================================
+--- setup.py        (revision 4106)
++++ setup.py        (working copy)
+@@ -279,6 +279,11 @@ else: # unix style (linux, mac, ...)
+         glut = posix_find_lib(['glut', 'freeglut'], lib_dirs)
+         pyogl_libs += [&quot;GL&quot;, &quot;GLU&quot;, glut]

++    if sys.platform == 'darwin':
++       ext_link_args += [
++         &quot;-framework&quot;, &quot;GLKit&quot;,
++        ]
++
+     libs += [&quot;GLEW&quot;]
+     libs += pyogl_libs

</ins></span></pre></div>
<a id="trunkdportssciencepymolfilessetup_pydiff"></a>
<div class="modfile"><h4>Modified: trunk/dports/science/pymol/files/setup_py.diff (129474 => 129475)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/science/pymol/files/setup_py.diff        2014-12-13 20:40:58 UTC (rev 129474)
+++ trunk/dports/science/pymol/files/setup_py.diff        2014-12-13 22:12:42 UTC (rev 129475)
</span><span class="lines">@@ -1,25 +1,8 @@
</span><del>---- setup.py.orig        2014-05-24 16:55:05.000000000 -0400
-+++ setup.py        2014-05-24 17:00:43.000000000 -0400
-@@ -47,18 +47,6 @@
-     pmap(_single_compile, objects)
-     return objects

--# handle extra arguments
--class options:
--    osx_frameworks = False
--
--try:
--    import argparse
--    parser = argparse.ArgumentParser()
--    parser.add_argument('--osx-frameworks', action=&quot;store_true&quot;)
--    options, sys.argv[1:] = parser.parse_known_args(namespace=options)
--except ImportError:
--    print &quot;argparse not available&quot;
--
- jobs = int(os.getenv('JOBS', 0))
- pmap = map if jobs == 1 else multiprocessing.pool.ThreadPool(jobs or None).map

-@@ -242,22 +230,17 @@
</del><ins>+Index: setup.py
+===================================================================
+--- setup.py        (revision 4106)
++++ setup.py        (working copy)
+@@ -264,7 +264,7 @@ else: # unix style (linux, mac, ...)
</ins><span class="cx">      try:
</span><span class="cx">          prefix_path = os.environ['PREFIX_PATH'].split(os.pathsep)
</span><span class="cx">      except KeyError:
</span><span class="lines">@@ -27,22 +10,4 @@
</span><span class="cx"> +        prefix_path = [&quot;@PREFIX@&quot;, &quot;/usr&quot;, &quot;/usr/X11&quot;]
</span><span class="cx">  
</span><span class="cx">      for prefix in prefix_path:
</span><del>-         inc_dirs += filter(os.path.isdir, [prefix + s for s in [&quot;/include&quot;, &quot;/include/freetype2&quot;]])
-         lib_dirs += filter(os.path.isdir, [prefix + s for s in [&quot;/lib64&quot;, &quot;/lib&quot;]])

--    if sys.platform == 'darwin' and options.osx_frameworks:
--        ext_link_args += [
--            &quot;-framework&quot;, &quot;OpenGL&quot;,
--            &quot;-framework&quot;, &quot;GLUT&quot;,
--        ]
--    else:
--        glut = posix_find_lib(['glut', 'freeglut'], lib_dirs)
--        pyogl_libs += [&quot;GL&quot;, &quot;GLU&quot;, glut]
-+    glut = posix_find_lib(['glut', 'freeglut'], lib_dirs)

-     libs += [&quot;GLEW&quot;]
-+    pyogl_libs += [&quot;GL&quot;, &quot;GLU&quot;, glut]
-+
-     libs += pyogl_libs

-     ext_comp_args += [&quot;-ffast-math&quot;, &quot;-funroll-loops&quot;, &quot;-O3&quot;, &quot;-fcommon&quot;]
</del><ins>+         inc_dirs += filter(os.path.isdir, [prefix + s for s in [&quot;/include&quot;, &quot;/include/freetype2&quot;, &quot;/include/libxml2&quot;]])
</ins></span></pre>
</div>
</div>

</body>
</html>